FIX HATALMAS SQL táblák: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce tippek]

WooCommerce széles körben használt modullá vált online boltok. SEO, a termék, a készletkezelés, a tiszta és intuitív kód, az egyszerű adminisztrációs felület és a Woo számára kifejlesztett bővítmények ezrei - csak néhány olyan érv, amely miatt érdemes eséllyel egy online áruház kifejlesztésére gondolni.

Mint minden CMS, a Woo sem jelent kivételt azoktól a furcsaságoktól, amelyek előfordulhatnak a különféle forgatókönyvekben vagy más WordPress beépülő modulokkal való interakciókban.
Erőforrás-kiszolgálón hardver elég nagylelkű, ezt vettem észre adatbázis szolgáltatás (mysqld) a RAM majdnem 80-90% -át igényli. Elég súlyos probléma, mert egyszerűen nem értettem, hogy a 110-es hiba periodikusan honnan származik (110: A kapcsolat elévült).
Az SQL folyamatok alaposabb vizsgálata során azt tapasztaltam, hogy egy adatbázis két, meglehetősen nagy mennyiségű táblázattal rendelkezik: wp_actionscheduler_actions si wp_actionscheduler_logs.

Normális ütemezett akciók az WooCommerce műveletütemező végrehajtásuk után automatikusan törölni kell őket. Ez nem mindig történik meg, és elakadnak a következő állapotú wp_actionsscheduler_actions műveletekben: sikertelen, törölve, alatt vagy teljes.

A fenti képen a táblázatok "wp_actionsscheduler"Csak nekik van alig több mint 15 MB. Sajnálom, hogy nem inspiráltak képernyőképet készíteni, amikor voltak 1.2 GB. Ennek ellenére 15 MB elegendő egy olyan táblához, amely a WooCommerce ütemezett műveleteit tartalmazza.
Ezek a "duzzadt" asztalok abból adódnak A WP-Cron nem törli a bejegyzéseket akik státusszal rendelkeznek "sikertelen","törölve"És"teljes“. Általában ezeket a bejegyzéseket automatikusan törölni kell az adatbázisból.
Az ütemezett akciók és azok állapota nagyon könnyen és belátható WooCommerce →  Állapot →  Ütemezett műveletek.

Az ereszcsatornák tisztítása "sikertelen","törölve"És"teljes"In wp_actionscheduler_actions si wp_actionscheduler_logs

Az adatbázishoz a phpMyAdmin segítségével jutunk el, majd az SQL-nél egymás után hajtjuk végre a parancssorokat:

DELETE FROM `wp_actionscheduler_actions` WHERE `status` = 'canceled'
DELETE FROM `wp_actionscheduler_actions` WHERE `status` = 'complete'
DELETE FROM `wp_actionscheduler_actions` WHERE `status` = 'failed'

Miután ezt a táblázatot megtisztították, ez nem jelenti azt, hogy a probléma megoldódott. Mint fentebb említettem, a fő ok a WP-Cron szolgáltatás letiltása különböző okok miatt. Így a "zombi" státuszú bejegyzéseket már nem lehet törölni.
Nagyon fontos tudni, hogy ha van online áruháza a WooCommerce webhelyen, és az a pluginon keresztül kapcsolódik a Facebook üzletekhez "Facebook a WooCommerce számára", Ez automatikusan szinkronizálja a WooCommerce termékeket a Facebook Shops fiókjával. Körülbelül 15 perc alatt megcsinálja. Ha ezeket az SQL bejegyzéseket nem ellenőrzik, akkor több százezer sort kaphat. "wc_facebook_regenerate_feed" ban ben "wp_actionscheduler_actions".

Ez az intervallum rendben van azoknál az üzleteknél, amelyek nagyszámú megrendelést kapnak, és a Facebook Shops termékkészletét folyamatosan frissíteni kell. Ha továbbra is úgy gondolja, hogy ezek a szinkronizálások a Facebook és az Ön boltja között 24 óránként egyszer elvégezhetők, az alábbi kódsor segíthet.

Nyissa meg a WordPress / WooCommerce téma függvényeit / php fájlját, amelyen a bolt fut, és adja hozzá:

add_filter( 'wc_facebook_feed_generation_interval', function(){ return HOUR_IN_SECONDS * 24; } );

Ezután beállíthatunk egy hét intervallumot az automatikus tisztításhoz:

add_filter( 'action_scheduler_retention_period', 'wpb_action_scheduler_purge' );
function wpb_action_scheduler_purge() {
 return WEEK_IN_SECONDS;
}

Miután elmentette ezeket a módosításokat, nem lesz problémája a "wp_actionscheduler_actions" óriási táblázataival.

FIX HATALMAS SQL táblák: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce tippek]

A szerzőről

Lopakodás

Szenvedélyesen minden eszközzel és informatikával kapcsolatban örömmel írok a lopakodásrólsettings.com 2006 óta, és szeretnék új dolgokat felfedezni veletek a számítógépekkel és az operációs rendszerekkel kapcsolatban macOS, Linux, Windows, iOS és Android.

Írj hozzászólást