POPRAVI VELIKO tabel SQL: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Nasveti]

WooCommerce postal je široko uporabljen modul spletnih trgovin. SEO, izdelek, upravljanje zalog, čista in intuitivna koda, preprost vmesnik za upravljanje in na tisoče vtičnikov, razvitih za Woo, so samo nekateri argumenti, za katere je vredno razmisliti, 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 kar veliko za tabelo, ki vsebuje programirana dejanja 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 dostopamo prek phpMyAdmin, nato pa v SQL po vrsti izvajamo ukazne vrstice:

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, s Facebook Shops pa je povezan prek vtičnika "Facebook forum WooCommerce", samodejno sinhronizira izdelke iz WooCommerce z vašim računom Facebook Shops. In to počne vsakih 15 minut. Če ti vnosi SQL niso nadzorovani, lahko dobite več 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 na katerem deluje vaša trgovina 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".

Strasten do tehnologije, z veseljem pišem na StealthSettings.com od leta 2006. Imam bogate izkušnje s operacijskimi sistemi: macOS, Windows in Linux, ter programskimi jeziki in platformami za bloganje (WordPress) in za spletne trgovine (WooCommerce, Magento, PrestaShop).

kako » radovednost » POPRAVI VELIKO tabel SQL: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Nasveti]

1 misel na “POPRAVITE OGROMNE tabele SQL: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce nasveti]"

  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