OPRAVTE OBROVSKÉ tabulky SQL: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce tipy]

WooCommerce stal se široce používaným modulem on-line obchody. SEO, produkt, správa zásob, čistý a intuitivní kód, rozhraní adminJednoduché pokyny a tisíce pluginů vyvinutých pro Woo jsou jen některé z důvodů, proč to stojí za to vyzkoušet, když uvažujete o vývoji internetového obchodu.

Jako každý CMS, ani Woo není výjimkou z podivností, které se mohou vyskytnout v různých scénářích použití nebo interakce s jinými pluginy. WordPress.
Na zdrojovém serveru technické vybavení docela velkorysý, všiml jsem si toho databázová služba (mysqld) začíná vyžadovat téměř 80-90% RAM. Docela vážný problém, protože jsem prostě nechápal, odkud chyba 110 pravidelně přichází (110: Vypršel časový limit připojení).
Při bližším zkoumání procesů SQL jsem zjistil, že databáze má dvě tabulky s poměrně velkými objemy: wp_actionscheduler_actions si wp_actionscheduler_logs.

normálně plánované akce ale Plánovač akcí WooCommerce po provedení by měly být automaticky odstraněny. To se ne vždy stane a uvíznou ve wp_actionsscheduler_actions se stavem: neúspěšný, zrušeno, až do nebo kompletní.

plánovač akcí sql tabulka

Na obrázku výše tabulky "wp_actionsscheduler„Pouze mají něco přes 15 MB. Je mi líto, že jsem nebyl inspirován k pořízení snímku obrazovky, když měli 1.2 GB. I tak stačí 15 MB pro tabulku, která obsahuje naprogramované akce WooCommerce.
Z toho vyplývají tyto „oteklé“ tabulky WP-Cron neodstraní položky kteří mají status "neúspěšný","zrušeno"A"kompletní“. Normálně by tyto položky měly být automaticky odstraněny z databáze.
Naplánované akce a jejich stav lze snadno a snadno vidět WooCommerce →  Status →  Naplánované akce.

Jak vyčistit žlaby “neúspěšný","zrušeno"A"kompletní"V wp_actionscheduler_actions si wp_actionscheduler_logs

K databázi přistupujeme přes phpMyAdmin, pak v SQL provedeme příkazové řádky postupně:

DELETE FROM `wp_actionscheduler_actions` WHERE `status` = 'canceled'
DELETE FROM `wp_actionscheduler_actions` WHERE `status` = 'complete'
DELETE FROM `wp_actionscheduler_actions` WHERE `status` = 'failed'
odstranit z sql

Jakmile je tato tabulka vyčištěna, neznamená to, že je problém vyřešen. Jak jsem řekl výše, hlavní příčinou je deaktivace služby WP-Cron z různých důvodů. Záznamy se stavem „zombie“ tedy již nelze mazat.
Je velmi důležité vědět, že pokud máte online obchod na WooCommerce a je propojen s Facebook Shops prostřednictvím pluginu "Facebook pro WooCommerce", Automaticky synchronizuje produkty WooCommerce s vaším účtem Facebook Shops. A dělá to asi za 15 minut. Pokud tyto položky SQL nejsou kontrolovány, můžete získat několik set tisíc řádků. “wc_facebook_regenerate_feed" v "wp_actionscheduler_actions".

Facebook pro WooCommerce

Tento interval je v pořádku pro obchody, které mají velký počet objednávek, a zásoby produktů Facebook Shops je třeba neustále aktualizovat. Pokud si stále myslíte, že tyto synchronizace mezi Facebookem a vaším obchodem lze provádět každých 24 hodin, může vám pomoci řádek kódu níže.

Otevřete soubor functions.php motivu WordPress / WooCommerce provozuje váš obchod a přidá:

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

Dále můžeme nastavit interval jednoho týdne pro automatické čištění:

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

Jakmile tyto změny uložíte, nebudete mít žádné problémy s obřími tabulkami pro „wp_actionscheduler_actions“.

Vášnivý k technologii, rád testuji a píšu výukové programy o operačních systémech macOS, Linux, Windows, o WordPress, WooCommerce a konfiguraci webových serverů LEMP (Linux, NGINX, MySQL a PHP). píšu dál StealthSettings.com od roku 2006 ao několik let později jsem začal psát na iHowTo.Tips výukové programy a novinky o zařízeních v ekosystému Apple: iPhoneiPad Apple Hodinky, HomePod, iMac, MacBook, AirPods a příslušenství.

1 myšlenka na „FIX HUGE SQL tables: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Tips]“

  1. @Stealth
    Vezměte si hjælpen. Du redder min dag og shop. Jeg se podíval na první místo a nedokončil webový obchod. Mange plugins er begyndt at dumpe deres output i den tabel og det fylder ... Wooping 9.2 GB tabel fik min host til at opgive hans ellers fine opp-tid. Nu trimmer jeg med den fine kode!
    Lige et spørgsmål på falde rebet denne table “wpb_action_scheduler_purge” default i db'en eller skal jeg evt. přejmenovat den na noget i min (default hedder min db ikke 'wp_') eller er det måske en funktion?
    Take for hjælpen og den super fine artikel

    pozdravy
    Netzie

    odpověď

Zanechat komentář