PARANDA SUURED SQL-i tabelid: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce'i näpunäited]

WooCommerce sellest on saanud laialdaselt kasutatav moodul e-poed. SEO, toode, varude haldamine, puhas ja intuitiivne kood, lihtne administraatori liides ja tuhanded Woo jaoks välja töötatud pistikprogrammid on vaid mõned argumendid, mille puhul tasub võimalust, kui mõelda veebipoe väljatöötamisele.

Nagu iga CMS, pole ka Woo erand kummalisustest, mis võivad esineda erinevates stsenaariumides või suhtlemisel teiste WordPressi pistikprogrammidega.
Ressursiserveris riistvara üsna helde, märkasin seda andmebaasiteenus (sai otsa) hakkab nõudma peaaegu 80–90% RAM-ist. Päris tõsine probleem, sest ma lihtsalt ei saanud aru, kust perioodiliselt viga 110 tuleb (110: Ühendus aegus).
SQL-i protsesse lähemalt uurides leidsin, et andmebaasis on kaks üsna suure mahuga tabelit: wp_actionscheduler_actions si wp_actionscheduler_logid.

tavaliselt ajastatud toimingud kohta WooCommerce'i tegevuste ajakava pärast täitmist tuleks need automaatselt kustutada. Seda ei juhtu alati ja nad jäävad seisma olekuga wp_actionsscheduler_actions: ei, tühistatud, kuni või täitma.

Ülaloleval pildil on tabelid "wp_actionsscheduler"Neil on ainult veidi üle 15 MB. Mul on kahju, et mind ei inspireeritud ekraanipilti tegema, kui neil seda oli 1.2 GB. Sellegipoolest piisab 15 MB-st tabeli jaoks, mis sisaldab WooCommerce'i ajastatud toiminguid.
Need "paistes" tabelid tulenevad sellest WP-Cron ei kustuta kirjeid kellel on staatus "ei","tühistatud"Ja"täitma“. Tavaliselt tuleks need kirjed andmebaasist automaatselt kustutada.
Kavandatud tegevusi ja nende olekut saab näha väga lihtsalt ja sisse WooCommerce →  olek →  Plaanitud toimingud.

Kuidas vihmaveerenne puhastada "ei","tühistatud"Ja"täitma"kohta wp_actionscheduler_actions si wp_actionscheduler_logid

Andmebaasile pääseme juurde phpMyAdmini kaudu, seejärel SQL-is täidame korduvalt käsuread:

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

Kui see tabel on puhastatud, ei tähenda see, et probleem oleks lahendatud. Nagu ma eespool ütlesin, on peamine põhjus WP-Croni teenuse keelamine erinevatel põhjustel. Seega ei saa "zombie" staatusega kirjeid enam kustutada.
On väga oluline teada, et kui teil on WooCommerce'is veebipood ja see on pistikprogrammi kaudu ühendatud Facebooki poodidega "Facebook WooCommerce jaoks", See sünkroonib WooCommerce'i tooted automaatselt teie Facebooki poodide kontoga. Ja ta teeb seda umbes 15 minutiga. Kui neid SQL-kirjeid ei kontrollita, võite saada mitusada tuhat rida. "wc_facebook_regenerate_feed" sisse "wp_actionscheduler_actions".

See intervall on ok kaupluste jaoks, kus on palju tellimusi ja Facebook Shopsi toodete laoseisu tuleb pidevalt uuendada. Kui arvate endiselt, et neid sünkroonimisi Facebooki ja teie poe vahel saab teha üks kord 24 tunni jooksul, võib abiks olla allolev koodirida.

Avage WordPressi / WooCommerce'i teema funktsioonid / php-fail, kus teie pood töötab, ja lisage:

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

Järgmisena saame automaatse puhastamise jaoks määrata ühe nädala intervalli:

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

Kui olete need muudatused salvestanud, pole teil probleeme "wp_actionscheduler_actions" suurte tabelitega.

PARANDA SUURED SQL-i tabelid: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce'i näpunäited]

Andmeid autor

Kavalus

Kirglik kõigest vidinast ja IT-st, kirjutan mõnuga vargsisettings.com alates 2006. aastast ja mulle meeldib koos teiega avastada uusi asju arvutite ja opsüsteemide kohta macOS, Linux, Windows, iOS ja Android.

Jäta kommentaar