ved

1

Fix enorme SQL -tabeller: WP_AKTIONSCHEDULER_ACTIONS_ACTIONS & WP_ACTIONSCHEDULER_LOGS [WOOCOMMOMMANCE TIPS]

Fix enorme SQL -tabeller: WP_AKTIONSCHEDULER_ACTIONS_ACTIONS & WP_ACTIONSCHEDULER_LOGS [WOOCOMMOMMANCE TIPS]

1

WooCommerce det er blevet et meget brugt modul af flere og flere magasin online. SEO, produkt- og lagerstyring, ren og intuitiv kode, enkel administrationsgrænseflade og de tusindvis af plugins udviklet til Woo, er blot nogle af grundene til, at det fortjener en chance, når du tænker på at udvikle en online butik.

Som ethvert CMS er Woo ikke fritaget for de mærkværdigheder, der kan forekomme i forskellige scenarier for brug eller interaktion med andre WordPress-plugins.
På en server med ressourcer hardware ret generøst, det lagde jeg mærke til database service (mysqld) begynder at anmode om næsten 80– 90% af RAM. Et ret alvorligt problem, fordi jeg simpelthen ikke forstod, hvor fejlen 110 periodisk kommer fra (110: Forbindelse timeout).
Ved nærmere inspektion af SQL-processerne opdagede jeg, at en database har to tabeller med ganske betydelige volumener: wp_actionscheduler_actions og wp_actionscheduler_logs.

I mod normal planlagte handlinger men WooCommerce Action Scheduler de skal slettes automatisk, når de er udført. Dette sker ikke altid, og de forbliver blokeret i wp_actionsscheduler_actions med status: mislykkedes, annulleret, indtil eller komplet.

På billedet ovenfor, tabellerne “wp_actionsscheduler” de kun har lidt over 15 MB. Jeg er ked af, at jeg ikke blev inspireret til at tage et skærmbillede, da de havde1,2 GB. Alligevel er 15 MB ret meget for en tabel, der indeholder planlagte WooCommerce-handlinger.
Disse tabeller “OPPUSTET” det skyldes ca WP-Cron sletter ikke poster care au status “mislykkedes“, “annulleret” og “komplet“. Normalt skal disse poster automatisk slettes fra databasen.
De programmerede handlinger og deres status kan meget let ses i WooCommerceStatusPlanlagte handlinger.

Hvordan renser vi afløbene? “mislykkedes“, “annulleret” og “komplet” FRAwp_actionscheduler_actions og wp_actionscheduler_logs

Vi får adgang til databasen gennem phpMyAdmin, så i SQL udfører vi kommandolinjerne på skift:

SLET FRA `wp_actionscheduler_actions` HVOR `status` = 'annulleret'
SLET FRA `wp_actionscheduler_actions` HVOR `status` = 'fuldført'
SLET FRA `wp_actionscheduler_actions` HVOR `status` = 'mislykkedes'

Når først dette bord er renset, betyder det ikke, at problemet er løst. Som jeg sagde ovenfor, er hovedårsagen deaktiveringen af ​​WP-Cron-tjenesten af ​​forskellige årsager. Således posterne med statusser “zombie” de kan ikke længere slettes.
Este foarte important de stiut ca daca aveti un magazin online pe WooCommerce, iar acesta este conectat la Facebook Shops prin plugin-ulFacebook for WooCommerce, acesta sincronizeaza automat produsele din WooCommerce cu contul dvs. de Facebook Shops. Si o face cam la 15 minute. Aceste intrari in SQL daca nu sunt controlate, puteti obtine cateva sute de mii de liniiwc_facebook_regenerate_feed” i “wp_actionscheduler_actions“.

Acest interval este ok pentru magazinele care au un numar mare de comenzi si este nevoie ca stocul produselor din Facebook Shops sa fie actualizat constant. Daca totusi considerati ca aceste sincronizari dinre Facebook si magazinul dvs. se pot face odata la 24 de ore, linia de cod de mai jos va poate ajuta.

Åbn functions.php-filen for WordPress / WooCommerce-temaet, som din butik kører på, og tilføj:

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

Dernæst kan vi indstille et interval på en uge for automatisk rengøring:

add_filter( 'action_scheduler_retention_period', 'wpb_action_scheduler_purge');
funktion wpb_action_scheduler_purge() {
 returner WEEK_IN_SECONDS;
}

Når disse ændringer er gemt, vil du ikke længere have problemer med gigantiske borde til “wp_actionscheduler_actions”.

Fix enorme SQL -tabeller: WP_AKTIONSCHEDULER_ACTIONS_ACTIONS & WP_ACTIONSCHEDULER_LOGS [WOOCOMMOMMANCE TIPS]

Du kan også være interesseret i...

En tanke på “Fix enorme SQL -tabeller: WP_AKTIONSCHEDULER_ACTIONS_ACTIONS & WP_ACTIONSCHEDULER_LOGS [WOOCOMMOMMANCE TIPS]

  1. Netzie siger:

    @Stealth
    Tak for hjælpen. Du redder min dag og shop. Jeg opdagede først dette efter et nedbrud af min webshop. Mange plugins er begyndt at dumpe deres output i den tabel og det fylderWooping 9.2GB 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 tabelwpb_action_scheduler_purgeer det en default i db’en eller skal jeg evt. rename 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

    Hilsen
    Netzie

Efterlad et svar

Din e-mailadresse vil ikke blive offentliggjort. Krævede felter er markeret *