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.

Szenvedélyes a technológiával kapcsolatban, szeretek tesztelni és oktatóanyagokat írni az operációs rendszerekről macOS, Linux, Windows, a WordPress, a WooCommerce és a LEMP webkiszolgáló konfigurációjáról (Linux, NGINX, MySQL és PHP). Írok tovább StealthSettingsA .com 2006 óta, és néhány évvel később elkezdtem írni az iHowTo.Tips oktatóanyagokat és az ökoszisztéma eszközeiről szóló híreket Apple: iPhone, iPad, Apple Nézd, HomePod, iMac, MacBook, AirPod-ok és kiegészítők.

1 gondolat: „FIX HATALMAS SQL táblázatok: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce tippek]”

  1. @Stealth
    Tak for hjælpen. Du redder min dag og shop. Jeg opdagede først dette efter et nedbrud af min webshop. Különböző pluginok kezdő és dumpe deres kimenetre a táblákban és a keresőben ... Wooping 9.2GB tabel fik min host host and opgive hans ellers fine opp-tid. Most trimmer jeg a finom kód!
    Lige et spørgsmål på falde rebet denne table “wpb_action_scheduler_purge” default i db'en eller skal jeg evt. átnevezni den til noget i min (default hedder min db ikke 'wp_') eller er det måske en funktion?
    Tak for hjælpen og den super fine artikel

    Üdvözlettel
    Netzie

    Válasz

Írj hozzászólást