POPRAVITE VELIKE tabele SQL: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Tips]

WooCommerce postal je široko uporabljen modul spletnih trgovin. SEO, izdelek, upravljanje zalog, čista in intuitivna koda, vmesnik adminPreprosta navodila in na tisoče vtičnikov, razvitih za Woo, so le nekateri od razlogov, zakaj je vredno poskusiti, ko razmišljate o razvoju spletne trgovine.

Kot vsak CMS, Woo ni izjema pri nenavadnostih, ki se lahko pojavijo v različnih scenarijih uporabe ali interakcije z drugimi vtičniki. WordPress.
Na strežniku virov strojna oprema precej radodarno, to sem opazil storitev baze podatkov (mysqld) začne zahtevati skoraj 80-90% RAM-a. Precej resen problem, ker preprosto nisem razumel, od kod periodično prihaja do napake 110 (110: Povezava je potekla).
Ob natančnejšem pregledu procesov SQL sem ugotovil, da ima baza podatkov dve tabeli s precej velikimi količinami: wp_actionsscheduler_actions si wp_actionsscheduler_logs.

običajno načrtovane akcije za WooCommerce Načrtovalnik dejanj po izvedbi jih je treba samodejno izbrisati. To se ne zgodi vedno in zataknejo se v wp_actionsscheduler_actions s statusom: ni, prekinjeno, dokler ali dokončanje.

Na zgornji sliki so tabele "wp_actionsscheduler"Imajo samo nekaj več kot 15 MB. Žal mi je, ker nisem bil navdihnjen za posnetek zaslona, ​​ko so ga 1.2 GB. Kljub temu je 15 MB dovolj za tabelo, ki vsebuje načrtovane akcije WooCommerce.
Iz tega izhajajo te "nabrekle" tabele WP-Cron vnosov ne izbriše ki imajo status "ni""prekinjeno"In"dokončanje“. Običajno je treba te vnose samodejno izbrisati iz baze podatkov.
Načrtovane akcije in njihovo stanje si lahko zelo enostavno ogledate WooCommerce →  Status →  Načrtovane akcije.

Kako očistiti žlebove "ni""prekinjeno"In"dokončanje"V wp_actionsscheduler_actions si wp_actionsscheduler_logs

Do baze podatkov dostopamo prek phpMyAdmin, nato pri SQL izvajamo ukazne vrstice izmenično:

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

Ko je tabela enkrat očiščena, še ne pomeni, da je težava rešena. Kot sem že rekel, je glavni vzrok onemogočanje storitve WP-Cron iz različnih razlogov. Tako vnosov s statusom "zombi" ni več mogoče izbrisati.
Zelo pomembno je vedeti, da če imate spletno trgovino na WooCommerce in je prek vtičnika povezana s Facebook Trgovinami "Facebook za WooCommerce", Samodejno sinhronizira izdelke WooCommerce z vašim računom v trgovinah Facebook. In to stori v približno 15 minutah. Če teh vnosov SQL ne nadzorujete, lahko dobite nekaj sto tisoč vrstic. "wc_facebook_regenerate_feed" v "wp_actionsscheduler_actions".

Ta interval je v redu za trgovine, ki imajo veliko število naročil, zaloge izdelkov Facebook Shops pa je treba nenehno posodabljati. Če še vedno mislite, da je mogoče te sinhronizacije med Facebookom in vašo trgovino opraviti enkrat na 24 ur, vam lahko pomaga spodnja vrstica kode.

Odprite datoteko functions.php teme WordPress / WooCommerce vodi vašo trgovino in dodajte:

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

Nato lahko nastavimo interval enega tedna za samodejno čiščenje:

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

Ko shranite te spremembe, ne boste imeli težav z velikanskimi tabelami za "wp_actioncheduler_actions".

kako » radovednost » POPRAVITE VELIKE tabele SQL: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Tips]

Navdušen sem nad tehnologijo, rad preizkušam in pišem vaje o operacijskih sistemih macOS, Linux, Windows, približno WordPress, WooCommerce in konfigurirajte spletne strežnike LEMP (Linux, NGINX, MySQL in PHP). pišem naprej StealthSettings.com od leta 2006, nekaj let kasneje pa sem začel pisati na iHowTo.Tips vadnice in novice o napravah v ekosistemu Apple: iPhone, iPad, Apple Ura, HomePod, iMac, MacBook, AirPods in dodatki.

1 misel na temo „POPRAVITE OGROMNE tabele SQL: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Tips]“

  1. @Stealth
    Tak za hjælpen. Du redder min dag og shop. Najprej se obrnite na naslednjo spletno trgovino. Mange vtičniki se začnejo pri izpisu dumpe deres v tabelah in datotekah… Prekrivanje 9.2 GB tabele s hitrostjo do gostitelja do odličnih opcij. Nu trimmer jeg med den fine kode!
    Ustvari in popravi napako za ponastavitev na tabelo “wpb_action_scheduler_purge” er det en default i db'en eller skal jeg evt. preimenuj den do noget i min (default hedder min db ikke 'wp_') ali imate več možnosti za delovanje?
    Tak za hjælpen og den super fin artikel

    S spoštovanjem
    Omrežje

    Odgovori

Pustite komentar