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

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 estranhezas que podem ocorrer em diferentes cenários de uso ou interação com outros plug-ins do WordPress.
Em um servidor de recursos Hardware 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 Action Scheduler 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 são suficientes para uma tabela que contém as ações programadas do 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 ela está conectada ao Facebook Shops através do plugin "Facebook para WooCommerce", Ele sincroniza automaticamente os produtos WooCommerce com sua conta do Facebook Shops. E ele faz isso em cerca de 15 minutos. Se essas entradas SQL 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 no qual sua loja está funcionando 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".

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

Sobre o autor

discrição

Apaixonado por tudo que é gadget e TI, escrevo com prazer em discriçãosettings.com desde 2006 e gosto de descobrir com vocês coisas novas sobre computadores e sistemas operacionais macSO, Linux, Windows, iOS e Android.

Deixe um comentário