Korjaa valtavat SQL -taulukot: WP_ActionCheduler_Actions & WP_ActionCheduler_Logs [WooCommerce -vinkit]
Viipalo siitä on tullut yhä useamman käyttämä moduuli aikakauslehti verkossa. SEO, tuotteen ja varaston hallinta, puhdas ja intuitiivinen koodi, yksinkertainen hallintaliittymä ja tuhannet Woolle kehitetyt lisäosat ovat vain muutamia syitä, miksi se ansaitsee mahdollisuuden, kun ajattelet verkkokaupan kehittämistä.
Kuten mikään sisällönhallintajärjestelmä, Woo ei ole vapautettu oudoista, joita saattaa ilmetä erilaisissa käyttötilanteissa tai vuorovaikutuksessa muiden WordPress-laajennusten kanssa.
Palvelimella, jossa on resursseja laitteisto melko antelias, huomasin sen tietokantapalvelu (mysqld) alkaa pyytää lähes 80– 90% RAM-muistista. Melko vakava ongelma, koska en yksinkertaisesti ymmärtänyt, mistä virhe 110 ajoittain tulee (110: Yhteys aikakatkaistiin).
Tarkastellessani SQL-prosesseja, huomasin, että yhdessä tietokannassa on kaksi taulukkoa, joilla on melko suuri määrä: wp_actionscheduler_actions ja wp_actionscheduler_logs.
Normaalissa tilassa ajoitetut toimet mutta WooCommerce Action Scheduler ne tulee poistaa automaattisesti niiden suorittamisen jälkeen. Näin ei aina tapahdu, ja ne pysyvät estettyinä wp_actionsscheduler_actionsissa, joiden tila on: epäonnistunut, peruutettu, vireillä tai täydellinen.
Yllä olevassa kuvassa taulukot “wp_actionsscheduler” heillä vain on hieman yli 15 MB. Olen pahoillani, etten innostunut ottamaan kuvakaappausta, kun he tekivät1,2 Gt. Siitä huolimatta 15 Mt on melko paljon taulukolle, joka sisältää ajoitetut WooCommerce-toiminnot.
Nämä taulukot “TÄYTETTY” se johtuu n WP-Cron ei poista merkintöjä care au status “epäonnistunut“, “peruutettu” ja “täydellinen“. Yleensä nämä merkinnät on poistettava automaattisesti tietokannasta.
Ohjelmoidut toiminnot ja niiden tila näkyvät erittäin helposti Viipalo →Status →Suunnitellut toimet.
Kuinka puhdistamme viemärit? “epäonnistunut“, “peruutettu” ja “täydellinen” -Stawp_actionscheduler_actions ja wp_actionscheduler_logs
Pääsemme tietokantaan phpMyAdminin kautta, sitten SQL:ssä suoritamme komentorivit vuorotellen:
DELETE FROM `wp_actionscheduler_actions` WHERE `status` = 'peruutettu'
DELETE FROM `wp_actionscheduler_actions` WHERE `status` = 'valmis'
DELETE FROM `wp_actionscheduler_actions` WHERE `status` = 'epäonnistui'
Kun tämä pöytä on puhdistettu, se ei tarkoita, että ongelma on ratkaistu. Kuten edellä sanoin, tärkein syy on WP-Cron-palvelun deaktivointi useista syistä. Siten merkinnät tilalla “zombie” niitä ei voi enää poistaa.
On erittäin tärkeää tietää, että jos sinulla on verkkokauppa WooCommercessa ja se on liitetty Facebook Shopsiin laajennuksen kautta “Facebook WooCommercelle“, se synkronoi WooCommerce-tuotteet automaattisesti Facebook Shops -tilisi kanssa. Ja hän tekee sen 15 minuutin välein. Jos näitä SQL-merkintöjä ei ohjata, voit saada useita satoja tuhansia rivejä “wc_facebook_regenerate_feed” sisä- “wp_actionscheduler_actions“.
Tämä aikaväli on ok liikkeille, joilla on paljon tilauksia ja on välttämätöntä, että Facebook Shopien tuotevarasto päivittyy jatkuvasti. Jos uskot edelleen, että nämä synkronoinnit Facebookin ja myymäläsi välillä voidaan tehdä kerran 24 tunnissa, alla oleva koodirivi voi auttaa sinua.
Avaa WordPress/WooCommerce-teeman functions.php-tiedosto, jossa myymäläsi toimii, ja lisää:
add_filter('wc_facebook_feed_generation_interval', function(){ return TUNTI_IN_SECONDS * 24; } );
Seuraavaksi voimme asettaa viikon välein automaattisen siivouksen:
add_filter('action_scheduler_retention_period', 'wpb_action_scheduler_purge' );
function wpb_action_scheduler_purge() {
paluu WEEK_IN_SECONDS;
}
Kun nämä muutokset on tallennettu, sinulla ei enää ole ongelmia jättimäisten pöytien kanssa “wp_actionscheduler_actions”.
Korjaa valtavat SQL -taulukot: WP_ActionCheduler_Actions & WP_ActionCheduler_Logs [WooCommerce -vinkit]
Mitä uutta
Noin Stealth
Teknologiasta intohimoinen, kirjoitan mielelläni StealthSettings.com-sivustolla vuodesta 2006 lähtien. Minulla on laaja kokemus käyttöjärjestelmistä: macOS, Windows ja Linux, sekä ohjelmointikielistä ja blogialustoista (WordPress) sekä verkkokaupoista (WooCommerce, Magento, PrestaShop).
Näytä kaikki Stealthin viestitSaatat olla kiinnostunut myös...



Yksi ajatus “Korjaa valtavat SQL -taulukot: WP_ActionCheduler_Actions & WP_ActionCheduler_Logs [WooCommerce -vinkit]”
@Stealth
Kiitos avusta. Pelastit päiväni ja shoppailet. Löysin tämän vasta verkkokauppani kaatumisen jälkeen. Monet laajennukset ovat alkaneet pudottaa tulostaan tuohon taulukkoon ja se täyttyy… Huuhteleva 9,2 Gt:n pöytä sai isäntänsä luopumaan muuten hienosta opp-ajastaan. Nyt leikkaan hienolla koodilla!
Vain kysymys tämän pöydän pudotusköydestä “wpb_action_scheduler_purge” onko se oletustieto tietokannassa vai pitääkö minun nimetä se uudelleen joksikin tiedostostani (oletuksena tietokantani ei ole nimeltään 'wp_’ ) vai onko se kenties toiminto?
Kiitos avusta ja erittäin mukavasta artikkelista
Tervehdys
Netzie