Como Visualizar e Controlar Tarefas Cron do WordPress

Recentemente, um de nossos leitores perguntou se era possível visualizar e controlar o sistema de cron jobs do WordPress no painel. Em nossa experiência, esta é uma pergunta que muitos usuários do WordPress têm, especialmente à medida que se familiarizam com o funcionamento interno do WordPress.

Se você não está familiarizado, Cron é uma tecnologia para executar tarefas agendadas em um servidor web. O WordPress vem com seu próprio cron integrado que permite realizar tarefas agendadas, como verificar atualizações, publicar posts agendados, etc.

Neste artigo, mostraremos como visualizar e controlar os cron jobs do WordPress.

O que é o Cron do WordPress? Como Funciona?

Cron é um termo técnico usado para comandos que são executados em um horário agendado ou em intervalos regulares. A maioria dos servidores web o utiliza para manter o servidor e executar tarefas agendadas.

O WordPress vem com seu próprio sistema de cron, que permite realizar tarefas agendadas. Por exemplo, verificar atualizações, excluir comentários antigos da lixeira, publicar posts agendados, e assim por diante.

Plugins do WordPress também podem usá-lo para executar tarefas especificadas por você. Por exemplo, seu plugin de backup do WordPress pode usar o cron do WordPress para criar backups automaticamente em um agendamento definido.

No entanto, o uso irresponsável do cron do WordPress por plugins pode deixar seu site lento. Especialmente se você estiver em hospedagem compartilhada.

Se um plugin executa tarefas que consomem muitos recursos com frequência, você precisa identificar o problema e corrigi-lo.

Vamos ver como visualizar e controlar o sistema cron do WordPress sem escrever nenhum código.

Visualizar e Controlar o Sistema Cron do WordPress

A primeira coisa que você precisa fazer é instalar e ativar o plugin WP Crontrol. Para mais detalhes, veja nosso guia passo a passo sobre como instalar um plugin do WordPress.

Após a ativação, você precisa visitar a página Ferramentas » Eventos Cron para controlar as configurações do cron.

Eventos do Cron do WordPress

Você verá uma lista de todos os eventos cron agendados para serem executados em seu site usando o sistema cron do WordPress.

Na primeira coluna, você verá o nome do hook que executa o cron.

Nomes de hooks geralmente dão uma pista sobre o que este evento em particular faz.

A maioria dos hooks padrão do WordPress começa com o prefixo wp_, como wp_update_plugins, wp_update_themes, etc.

Seus plugins do WordPress podem ou não usar seus próprios prefixos para seus hooks. Por exemplo, All in One SEO usa o prefixo aioseo_.

Você também verá quando um cron será executado a seguir e o intervalo de tempo entre as próximas execuções.

A última coluna da lista permite que você edite, exclua ou execute um evento cron.

Importante: Tenha muito cuidado com o que você faz com os eventos cron e nunca exclua um evento cron padrão do WordPress.

Agora, vamos supor que você veja um evento cron criado por um plugin do WordPress que consome muitos recursos.

Primeiro, você deve verificar as configurações do plugin para ver se há uma opção para controlá-lo a partir daí. Se não houver, você pode clicar no link 'Editar' ao lado do evento cron para alterá-lo.

Editando um cron no WordPress

Clicar no botão Editar abrirá a aba 'Modificar Evento Cron' abaixo.

Aqui, você pode alterar a frequência com que deseja que o evento seja executado.

Modificando as configurações do cron

Quando terminar, clique no botão 'Modificar Evento Cron' para salvar suas configurações.

Adicionando Seus Próprios Eventos Cron no WordPress

O plugin WP Crontrol facilita a adição de suas próprias tarefas cron ao WordPress. Simplesmente visite a página Ferramentas » Eventos Cron e role para baixo até a aba 'Adicionar Evento Cron'.

Adicionar evento cron personalizado no WordPress

Primeiro, você precisa fornecer um nome de hook para o seu evento cron. Nomes de hook não podem ter espaços ou caracteres especiais.

Se a função que você deseja executar requer argumentos, então você pode fornecer esses argumentos.

Em seguida, você precisa dizer ao WordPress quando executar o cron da próxima vez. Você pode inserir 'now' (agora), que acionará o cron imediatamente, 'tomorrow' (amanhã), '+2 days' (daqui a 2 dias), ou '25-02-2020 12:34:00'.

Por último, você precisa selecionar uma programação. Você pode selecionar horária, duas vezes ao dia, diária ou uma vez por semana. Você também pode torná-lo um evento não recorrente.

Quando terminar, clique no botão 'Adicionar Evento Cron' para salvar suas alterações.

Você notará que seu evento cron agora aparecerá na lista de eventos.

No entanto, atualmente ele não faz nada porque você não disse ao WordPress o que fazer quando este evento for acionado.

Você precisará adicionar seu hook e uma função que é executada quando o hook cron é acionado.

add_action( 'wpb_custom_cron', 'wpb_custom_cron_func' );

function wpb_custom_cron_func() {
  wp_mail( 'you@example.com', 'Automatic email', 'Automatic scheduled email from WordPress to test cron');
}

Não se esqueça de usar seu próprio endereço de e-mail.

Esta função simplesmente envia um e-mail de teste para você quando o cron é executado. Agora você pode rolar a página para cima e clicar no link 'Executar Agora' ao lado do seu evento cron para testá-lo.

Nota: O uso de cron requer habilidades intermediárias de programação e desenvolvimento WordPress. Se você não possui essas habilidades, recomendamos contratar um desenvolvedor WordPress.

É isso, esperamos que este artigo tenha ajudado você a aprender como visualizar e controlar os cron jobs do WordPress. Você também pode querer ver nosso guia sobre como instalar vários plugins favoritos do WordPress em massa ou nossas escolhas de especialistas dos melhores plugins de segurança do WordPress.

Se você gostou deste artigo, por favor, inscreva-se em nosso Canal do YouTube para tutoriais em vídeo do WordPress. Você também pode nos encontrar no Twitter e no Facebook.

Aviso: Nosso conteúdo é apoiado pelos leitores. Isso significa que, se você clicar em alguns de nossos links, poderemos ganhar uma comissão. Veja como o WPBeginner é financiado, por que isso importa e como você pode nos apoiar. Aqui está nosso processo editorial.

O Kit de Ferramentas Definitivo para WordPress

Obtenha acesso GRATUITO ao nosso kit de ferramentas - uma coleção de produtos e recursos relacionados ao WordPress que todo profissional deve ter!

Interações do Leitor

20 CommentsLeave a Reply

  1. Muito obrigado por apresentar este tópico e nos ajudar a entender melhor os cron jobs do WordPress. Sua explicação detalhada esclareceu realmente como eles funcionam e como gerenciá-los de forma eficaz. Agradeço as ideias que você compartilhou; é empoderador ter esse conhecimento para manter nossos sites funcionando sem problemas. Obrigado novamente por seu valioso artigo!

  2. Executamos o cron no nível do servidor porque o wp-cron sobrecarrega o servidor. Não há nada em nosso site que seja tão crítico em termos de tempo que os trabalhos precisem ser executados com frequência. Se definirmos a frequência como diária, o WordPress teria um problema?

    • Dependeria muito do que está sendo feito no site e quando. Não temos uma recomendação específica para o que pode ser adiado a esse ponto.

      Admin

  3. Quando vou alterar a recorrência nos Hooks, eles simplesmente voltam a ser alterados. Algo não está certo. Preciso desativar os crons do WP no wp-config.php primeiro?

    • Dependeria do cron job específico, se você entrar em contato com o suporte do plugin, eles devem ser capazes de ajudar

      Admin

  4. Posso desativar ou até mesmo excluir o plugin WP Control depois de ter configurado um cron job, para que eu não tenha muitos plugins rodando e diminuindo a velocidade do site?

  5. Sou um novato no WordPress e não sei onde colocar (ou como executar) o código:
    add_action( ‘wpb_custom_cron’, ‘wpb_custom_cron_func’ );

    function wpb_custom_cron_func() { wp_mail( ‘you@example.com’, ‘Email automático’, ‘Email agendado automaticamente do WordPress para testar o cron’); }

  6. Obrigado pelo artigo. Interessante ver o número de plugins que têm jobs cron rodando com frequência. Ótimo vislumbre interno do plugin…

  7. Quando verifico a agenda do cron, as datas mostradas na coluna ‘próxima execução’ estão todas no passado. Isso significa que elas não estão rodando?

    No passado, acho que adicionei ‘true’ no arquivo wp config para impedir que as atualizações automáticas do wp quebrassem meu site…. isso poderia ser a causa?

  8. Ótimo artigo, mas não há necessidade de

    if ( ! wp_next_scheduled( ‘wpb_custom_cron’ ) ) { wp_schedule_event( time(), ‘hourly’, ‘my_task_hook’ ); }

    esta parte é feita no plugin,

  9. Testei o exemplo que você deu. Funciona como um super-homem. Mas por favor, nos dê um exemplo para enviar parâmetros. Adicionei a função ao criar o evento. Mas não sei como usá-los na função PHP.

    Por favor, nos dê um exemplo

  10. Meu site está exibindo uma longa string de wp cron após meu URL e não consigo me livrar dela. Alguma ideia?

    ?doing_wp_cron=1499261576.8675799369812011718750 aparece após meu URL e isso me faz parecer muito spam. Sua opinião seria apreciada.

  11. Esse hook cron ‘my_task_hook’ está corretamente mencionado na linha 2 ou deveria ser alterado para ‘wpb_custom_cron’?

  12. Você sabe se é possível visitar um link na área do wp-admin? Tenho um plugin que adiciona recursos administrativos ao meu site WordPress, mas eu realmente quero que isso seja agendado para acontecer a cada 24 horas. Eu tenho o link, mas obviamente preciso estar logado.

  13. Você precisa dessa primeira instrução if mostrada no código de exemplo? Parece que ela substituiria a capacidade de agendar e desprogramar no plugin WP Crontrol.
    Seu exemplo funcionou bem quando agendei o trabalho no plugin e o testei com a opção Executar agora. Verei se recebo um e-mail no horário agendado também.
    Obrigado pelas informações de fundo úteis.

Deixe uma resposta

Obrigado por escolher deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de comentários, e seu endereço de e-mail NÃO será publicado. Por favor, NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.