LABOJIET MILZĪGAS SQL tabulas: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Padomi]

WooCommerce tas ir kļuvis par plaši izmantotu moduli interneta veikali. SEO, produkta, krājumu pārvaldība, tīrs un intuitīvs kods, vienkārša administrēšanas saskarne un tūkstošiem Woo izstrādāto spraudņu ir tikai daži no argumentiem, kuru dēļ ir vērts izmantot iespēju domāt par tiešsaistes veikala izveidi.

Tāpat kā jebkura CMS, arī Woo nav izņēmums dīvainībām, kas var rasties dažādos lietošanas vai mijiedarbības ar citiem spraudņiem scenārijos. WordPress.
Resursu serverī detaļas diezgan dāsna, es to pamanīju datu bāzes pakalpojums (mysqld) sāk pieprasīt gandrīz 80-90% RAM. Diezgan nopietna problēma, jo es vienkārši nesapratu, no kurienes periodiski rodas 110. kļūda (110: savienojuma noildze).
Rūpīgāk pārbaudot SQL procesus, es atklāju, ka datu bāzē ir divas tabulas ar diezgan lieliem apjomiem: wp_actionscheduler_actions si wp_actionscheduler_logs.

normāli plānotās darbības no WooCommerce Darbību plānotājs pēc izpildes tos vajadzētu izdzēst automātiski. Tas ne vienmēr notiek, un viņi iestrēgst wp_actionsscheduler_actions ar statusu: neizdevās, atcelts, līdz vai pilnīgs.

Augšējā attēlā tabulas "wp_actionsscheduler"Viņiem ir tikai nedaudz vairāk par 15 MB. Man žēl, ka man nebija iedvesmas uzņemt ekrānuzņēmumu, kad viņi to izdarīja 1.2 GB. Tomēr 15 MB ir diezgan daudz tabulai, kurā ir ieprogrammētās darbības WooCommerce.
Šīs "pietūkušās" tabulas izriet no tā WP-Cron neizdzēš ierakstus kuriem ir statuss "neizdevās","atcelts"Un"pilnīgs“. Parasti šie ieraksti automātiski jāizdzēš no datu bāzes.
Paredzētās darbības un to stāvokli var redzēt ļoti viegli un iekšēji WooCommerce →  Status →  Plānotās darbības.

Kā notekas notekcaurules "neizdevās","atcelts"Un"pilnīgs"In wp_actionscheduler_actions si wp_actionscheduler_logs

Mēs piekļūstam datu bāzei, izmantojot phpMyAdmin, pēc tam SQL izpildām komandrindas pēc kārtas:

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

Kad šī tabula ir iztīrīta, tas nenozīmē, ka problēma ir atrisināta. Kā jau teicu iepriekš, galvenais iemesls ir WP-Cron pakalpojuma atspējošana dažādu iemeslu dēļ. Tādējādi ierakstus ar “zombiju” statusu vairs nevar izdzēst.
Ir ļoti svarīgi to zināt, ja jums ir tiešsaistes veikals WooCommerce, un tas ir savienots ar Facebook veikaliem, izmantojot spraudni "Facebook forums WooCommerce", tas automātiski sinhronizē produktus no WooCommerce ar savu Facebook veikalu kontu. Un viņš to dara ik pēc 15 minūtēm. Ja šie SQL ieraksti netiek kontrolēti, jūs varat iegūt vairākus simtus tūkstošu rindu.wc_facebook_regenerate_feed" iekš "wp_actionscheduler_actions".

Šis intervāls ir piemērots veikaliem, kuriem ir liels pasūtījumu skaits, un Facebook Shops produktu krājumi ir pastāvīgi jāatjaunina. Ja jūs joprojām domājat, ka šīs sinhronizācijas starp Facebook un jūsu veikalu var veikt reizi 24 stundās, zemāk esošā koda rindiņa var palīdzēt.

Atveriet motīva failu functions.php WordPress / WooCommerce kurā darbojas jūsu veikals, un pievienojiet:

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

Tālāk mēs varam iestatīt vienas nedēļas intervālu automātiskai tīrīšanai:

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

Pēc šo izmaiņu saglabāšanas jums nebūs problēmu ar milzu tabulām “wp_actionscheduler_actions”.

Tehnoloģijas entuziasts, ar prieku rakstu vietnē StealthSettings.com no 2006. gada. Man ir plaša pieredze operētājsistēmās: macOS, Windows un Linux, kā arī programmēšanas valodās un blogošanas platformās (WordPress) un tiešsaistes veikalu platformās (WooCommerce, Magento, PrestaShop).

kā uz » ziņkārība » LABOJIET MILZĪGAS SQL tabulas: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Padomi]

1 doma par “LABOT MILZĪGAS SQL tabulas: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Padomi]"

  1. @Stealth
    Tak par hjælpen. Du redder min dag og veikals. Jeg opdagede først dette efter et nedbrud af min webshop. Pārveidot spraudņus, sākot no sākuma un ar izejas ieeju tabulā un detalizēti ... Wooping 9.2GB tabel fik min host host to opgive hans ellers fine opp-tid. Nu trimmer jeg med den fine kode!
    Labs un spørgsmål på falde rebet denne tabel “wpb_action_scheduler_purge” default i db'en eller skal jeg evt. pārdēvēt den til noget i min (default hedder min db ikke 'wp_') eller er det måske en funktion?
    Tak par hjælpen og den super fine artikel

    Sveicieni
    Netsija

    atbildēt
Leave a Comment