FIX ENORME tabelle SQL: wp_actionscheduler_actions e wp_actionscheduler_logs [Suggerimenti per WooCommerce]

WooCommerce è diventato un modulo ampiamente utilizzato negozi on-line. SEO, prodotto, gestione dell'inventario, codice pulito e intuitivo, semplice interfaccia di amministrazione e migliaia di plugin sviluppati per Woo, sono solo alcuni degli argomenti per i quali vale la pena provare quando si pensa di sviluppare un negozio online.

Come ogni CMS, Woo non fa eccezione alle stranezze che possono verificarsi in diversi scenari di utilizzo o interazione con altri plugin di WordPress.
Su un server di risorse hardware abbastanza generoso, l'ho notato servizio di database (mysqld) inizia a richiedere quasi l'80-90% di RAM. Un problema piuttosto serio, perché non ho capito da dove viene periodicamente l'errore 110 (110: connessione scaduta).
A un esame più attento dei processi SQL, ho scoperto che un database ha due tabelle con volumi abbastanza grandi: wp_actionscheduler_actions si wp_actionscheduler_logs.

normalmente azioni pianificate di Utilità di pianificazione delle azioni di WooCommerce dovrebbero essere cancellati automaticamente dopo essere stati eseguiti. Questo non accade sempre e rimangono bloccati in wp_actionsscheduler_actions con lo stato: mancato, annullato, in attesa di o completamento di una.

Nell'immagine sopra, le tabelle "wp_actionsscheduler"Hanno solo poco più di 15 MB. Mi dispiace di non essere stato ispirato a fare uno screenshot quando lo avevano fatto 1.2 GB. Anche così, 15 MB sono sufficienti per una tabella che contiene le azioni programmate di WooCommerce.
Queste tabelle "gonfie" derivano da questo WP-Cron non elimina le voci che hanno lo status "mancato","annullato"E"completamento di una“. Normalmente queste voci dovrebbero essere cancellate automaticamente dal database.
Le azioni programmate e il loro stato possono essere visualizzati molto facilmente e in formato WooCommerce →  Stato →  Azioni programmate.

Come pulire le grondaie "mancato","annullato"E"completamento di una"In wp_actionscheduler_actions si wp_actionscheduler_logs

Accediamo al database tramite phpMyAdmin, quindi in SQL eseguiamo a turno le righe di comando:

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

Una volta che questa tabella è stata pulita, non significa che il problema sia stato risolto. Come ho detto sopra, la causa principale è la disabilitazione del servizio WP-Cron per vari motivi. Pertanto le voci con lo stato "zombie" non possono più essere cancellate.
È molto importante sapere che se hai un negozio online su WooCommerce, ed è collegato ai negozi di Facebook tramite il plugin "Facebook per WooCommerce", Sincronizza automaticamente i prodotti WooCommerce con il tuo account Facebook Shops. E lo fa in circa 15 minuti. Se queste voci SQL non sono controllate, puoi ottenere diverse centinaia di migliaia di righe. "wc_facebook_regenerate_feed" nel "wp_actionscheduler_actions".

Questo intervallo va bene per i negozi che hanno un numero elevato di ordini e lo stock dei prodotti dei negozi di Facebook deve essere costantemente aggiornato. Se pensi ancora che queste sincronizzazioni tra Facebook e il tuo negozio possano essere eseguite ogni 24 ore, la riga di codice qui sotto può aiutarti.

Apri il file functions / php del tema WordPress / WooCommerce su cui è in esecuzione il tuo negozio e aggiungi:

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

Successivamente possiamo impostare un intervallo di una settimana per la pulizia automatica:

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

Una volta salvate queste modifiche, non avrai problemi con le tabelle giganti per "wp_actionscheduler_actions".

FIX ENORME tabelle SQL: wp_actionscheduler_actions e wp_actionscheduler_logs [Suggerimenti per WooCommerce]

Circa l'autore

Azione furtiva

Appassionato di tutto ciò che riguarda i gadget e l'informatica, scrivo con piacere di nascostosettings.com dal 2006 e mi piace scoprire con voi cose nuove su computer e sistemi operativi macOS, Linux, Windows, iOS e Android.

Lascia un tuo commento