WooCommerce Status e Ações Agendadas: identificar problemas
As encomendas não pagas ficam presas, as integrações atrasam ou a sua loja comporta-se de forma estranha após uma atualização? Comece então por WooCommerce > Status. Aí vê como o seu servidor está configurado, que erros o WooCommerce registou e que tarefas estão a correr em segundo plano ou a falhar. Este artigo mostra o que encontra aí e como enviar o relatório do sistema quando pede ajuda.
Os separadores de WooCommerce > Status
| Separador | O que vê aí |
|---|---|
| Estado do sistema (System status) | Versões do WordPress, WooCommerce e PHP, o limite de memória, definições do PHP como max_input_vars, se o WP-Cron está ativo, a base de dados, plugins ativos e modelos que o seu tema substitui. |
| Ferramentas (Tools) | Botões para, por exemplo, limpar dados temporários ou voltar a criar as páginas da loja. Faça primeiro uma cópia de segurança. |
| Registos (Logs) | Mensagens do WooCommerce e de extensões, como o seu plugin de pagamentos. Erros graves surgem num registo com o nome fatal-errors. |
| Ações agendadas (Scheduled Actions) | A fila com tarefas em segundo plano, por estado. |
Ações agendadas e o Action Scheduler
Uma loja realiza muito trabalho que não está associado a um clique de um visitante: cancelar encomendas não pagas quando termina o tempo de reserva de stock, enviar emails e webhooks, atualizar relatórios, limpar dados antigos. Para isso, o WooCommerce utiliza o Action Scheduler, uma fila também utilizada por muitos outros plugins, como os de subscrições e integrações de contabilidade.
| Estado | Significado e o que fazer |
|---|---|
| Pendente (Pending) | Ainda tem de ser executada. Se houver muitas com uma data no passado, a fila está atrasada: verifique o seu cron (abaixo). |
| Em curso (In-progress) | Está a correr agora. Se uma ação ficar presa durante muito tempo, consulte o registo ao lado. |
| Concluída (Complete) | Terminada. Por predefinição, é limpa automaticamente ao fim de um mês. |
| Falhada (Failed) | Deu um erro. Leia a mensagem na coluna Registo. |
| Cancelada (Canceled) | Deliberadamente não executada; normalmente sem problema. |
Nas ações falhadas, consegue geralmente identificar na coluna Grupo e no nome do hook qual o plugin que as cria. Frequentemente trata se de uma integração que não está acessível, por exemplo após uma alteração de palavra passe. Resolva primeiro a causa e deixe depois as ações correr novamente com Executar agora (Run). Se a lista continuar a crescer, não a limpe apenas, descubra antes qual o plugin que continua a agendar ou a falhar.
WP-Cron e uma tarefa cron real
A fila é processada através do WP-Cron. Por predefinição, o WordPress só inicia as suas tarefas agendadas quando chega um visitante. Durante a noite acontece então pouco, e em alturas de muito tráfego o trabalho acumula se no pedido de um cliente que quer finalizar a compra. Para uma loja, uma tarefa cron real é por isso melhor:
- Coloque em
wp-config.phpa linhadefine('DISABLE_WP_CRON', true); - Crie em DirectAdmin, em Cron Taken, uma tarefa com o comando
/usr/local/bin/php /home/nomeutilizador/domains/example.com/public_html/wp-cron.php. Substituanomeutilizadore o domínio pelos seus. - Não deixe a tarefa correr com mais frequência do que o permitido pelas regras das tarefas cron. No manual pedimos que uma tarefa seja iniciada, no máximo, uma vez a cada 10 minutos.
Todos os passos e regras estão em Cron Taken: executar tarefas automaticamente e Criar uma cronjob ou tarefa (e o que fazer se não estiver a correr). Verifique depois, em Ações agendadas, se o número de ações pendentes em atraso diminui.
Procurar erros: registos
- WooCommerce > Status > Registos: os ficheiros de registo do WooCommerce e das suas extensões, como o seu plugin de pagamentos e
fatal-errors. - O registo de erros do seu site em DirectAdmin: consulte Visão geral do site e registos: o registo de erros e o registo de acessos.
Enviar o relatório do sistema para o suporte
- Vá a WooCommerce > Status e clique em Get system report.
- Clique em Copy for support e cole o relatório no seu ticket, ou clique em Download for support e adicione o ficheiro como anexo.
- Indique o que está a correr mal, desde quando, e o que alterou nessa altura. Consulte Pedir ajuda: o que deve indicar ao suporte?
O suporte de um plugin de pagamentos ou de outra extensão pede muitas vezes, em primeiro lugar, este relatório. Nunca envie palavras passe.
Para saber mais
- Understanding the WooCommerce System Status Report (em inglês)
- Action Scheduler (em inglês)
- Curso gratuito de WordPress, lição 6.3 Imagens, PHP e outros ganhos de velocidade, sobre o WP-Cron
