OPRAVIT OBROVSKÉ SQL tabulky: 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, jednoduché administrační rozhraní a tisíce pluginů vyvinutých pro Woo, to jsou jen některé z argumentů, pro které stojí za to mít šanci, když uvažujete o vývoji online 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 WooCommerce Plánovač akcí 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í.

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 je 15 MB na tabulku, která obsahuje naprogramované akce, poměrně hodně 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 prostřednictvím phpMyAdmin, poté v SQL postupně provádíme příkazové řádky:

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

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 internetový obchod WooCommercea je propojen s Facebook Shops prostřednictvím pluginu "Facebook pro WooCommerce“, automaticky synchronizuje produkty z WooCommerce s vaším účtem Obchody na Facebooku. A dělá to každých 15 minut. Pokud tyto položky SQL nejsou kontrolovány, můžete získat několik stovek tisíc řádků"wc_facebook_regenerate_feed" v "wp_actionscheduler_actions".

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 na kterém váš obchod běží a přidejte:

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ěnovaný technologiím, s radostí píši na StealthSettings.com od roku 2006. Mám bohaté zkušenosti s operačními systémy: macOS, Windows a Linux, stejně jako s programovacími jazyky a platformami pro blogování (WordPress) a pro online obchody (WooCommerce, Magento, PrestaShop).

jak na to » Zvědavost » OPRAVIT OBROVSKÉ SQL tabulky: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Tipy]

1 myšlenka na „OPRAVIT OBROVSKÉ SQL tabulky: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Tipy]"

  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
    Síť

    odpověď
Zanechat komentář