CORRIGIR ENORMES tabelas SQL: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Dicas]

WooCommerce tornou-se um módulo amplamente utilizado lojas on-line. SEO, produto, gerenciamento de estoque, código limpo e intuitivo, interface de administração simples e milhares de plugins desenvolvidos para Woo, são apenas alguns dos argumentos pelos quais vale a pena tentar quando você pensa em desenvolver uma loja online.

Como qualquer CMS, Woo não é exceção às esquisitices que podem ocorrer em vários cenários de uso ou interação com outros plugins. WordPress.
Em um servidor de recursos Hardwares bastante generoso, notei que serviço de banco de dados (mysqld) começa a exigir quase 80-90% de RAM. Um problema muito sério, porque eu simplesmente não entendia de onde vem o erro 110 periodicamente (110: Conexão expirou).
Em uma inspeção mais detalhada dos processos SQL, descobri que um banco de dados tem duas tabelas com volumes bastante grandes: wp_actionscheduler_actions si wp_actionscheduler_logs.

normalmente ações programadas de WooCommerce Agendador de ações eles devem ser excluídos automaticamente após serem executados. Isso nem sempre acontece e eles ficam presos em wp_actionsscheduler_actions com o status: fracassado, cancelado, pendente ou completar.

Na imagem acima, as tabelas "wp_actionsscheduler"Eles só têm pouco mais de 15 MB. Lamento não ter sido inspirado a fazer uma captura de tela quando eles 1.2 GB. Mesmo assim, 15 MB é bastante para uma tabela que contém as ações programadas de WooCommerce.
Essas tabelas "inchadas" resultam disso WP-Cron não exclui entradas quem tem status "fracassado","cancelado"E"completar“. Normalmente, essas entradas devem ser excluídas automaticamente do banco de dados.
As ações programadas e seu estado podem ser vistos muito facilmente e em WooCommerce →  Status →  Ações agendadas.

Como limpar as calhas "fracassado","cancelado"E"completar"em wp_actionscheduler_actions si wp_actionscheduler_logs

Acessamos o banco de dados através do phpMyAdmin, então no SQL executamos as linhas de comando sucessivamente:

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

Depois de limpar a mesa, isso não significa que o problema foi resolvido. Como eu disse acima, a principal causa é a desativação do serviço WP-Cron por vários motivos. Assim, as entradas com o status "zumbi" não podem mais ser excluídas.
É muito importante saber que se você tem uma loja online no WooCommerce, e está conectado às Lojas do Facebook por meio do plug-in "Facebook para WooCommerce", sincroniza automaticamente os produtos de WooCommerce com sua conta do Facebook Shops. E ele faz isso a cada 15 minutos. Essas entradas SQL, se não forem controladas, você pode obter várias centenas de milhares de linhas"wc_facebook_regenerate_feed"Em"wp_actionscheduler_actions".

Este intervalo é adequado para lojas que possuem um grande número de pedidos e o estoque de produtos das Lojas do Facebook precisa ser atualizado constantemente. Se você ainda acha que essas sincronizações entre o Facebook e sua loja podem ser feitas uma vez a cada 24 horas, a linha de código abaixo pode ajudar.

Abra o arquivo functions.php do tema WordPress / WooCommerce em que sua loja funciona e adicione:

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

A seguir, podemos definir um intervalo de uma semana para a limpeza automática:

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

Depois de salvar essas alterações, você não terá problemas com tabelas gigantes para "wp_actionscheduler_actions".

Apaixonado por tecnologia, escrevo com prazer no StealthSettings.com desde 2006. Tenho uma ampla experiência em sistemas operacionais: macOS, Windows e Linux, assim como em linguagens de programação e plataformas de blogs (WordPress) e para lojas online (WooCommerce, Magento, PrestaShop).

Como » Curiosity » CORRIGIR ENORMES tabelas SQL: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Dicas]

1 pensou em “CORRIGIR ENORMES tabelas SQL: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Pontas]"

  1. @Stealth
    Tak para hjælpen. Du redder min dag og shop. Jeg opdagede først dette efter et nedbrud af min webshop. Os plug-ins do Mange são iniciados e executados na saída de dados na tabela og det fylder… Wooping 9.2 GB tabela fik min host até a opgive hans ellers fine opp-tid. Nu trimmer jeg med den fine kode!
    Lige et spørgsmål på falde rebet denne table “wpb_action_scheduler_purge” default i db'en eller skal jeg evt. renomear den até noget i min (default hedder min db ikke 'wp_') eller er det måske en funktion?
    Tak para hjælpen og den super fine artikel

    Cumprimentos
    Rede

    Resposta
Deixe um comentário