Como criar e modificar um trabalho cron do WordPress

Rifat Plugins WordPress Jul 4, 2023

Cron é um utilitário comumente empregado em sistemas Unix/Linux para agendar comandos ou scripts em um servidor web que opera em segundo plano. Uma tarefa cron refere-se a uma tarefa específica agendada para ser executada em horários, datas ou intervalos fixos predeterminados. Essas tarefas geralmente são repetitivas e automatizadas para aumentar a eficiência. No caso do WordPress, a função WP-Cron é utilizada para emular um cron do sistema.

Instâncias de trabalhos cron do WordPress podem incluir o agendamento da publicação de uma postagem ou a execução de um plug-in de backup em um horário predefinido. O foco desta discussão é fornecer orientações abrangentes sobre como criar, modificar e executar facilmente uma tarefa cron do WordPress.

Como configurar um trabalho cron no WordPress

Vale a pena notar que o WP-Cron difere ligeiramente de um cron do sistema e cada um tem suas próprias vantagens e desvantagens. O WP-Cron depende apenas de intervalos, enquanto um cron do sistema depende de horários específicos. Além disso, o WP-Cron funciona apenas quando a página é carregada, seja no back-end ou no front-end, o que pode resultar em menor confiabilidade. Os intervalos padrão fornecidos pelo WordPress incluem horários de hora em hora, duas vezes ao dia e diários.

Para agendar eventos WP-Cron, é necessário criar ganchos personalizados. É altamente recomendável consultar o manual oficial do plugin WordPress, que oferece um excelente guia sobre como agendar eventos WP-Cron. Se você está procurando um método alternativo para configurar um cron do sistema no WordPress, sugerimos consultar o artigo de Tom Mcfarlin’ sobre como definir um cron job do WordPress. Além disso, para aqueles que podem ser menos experientes, exploraremos uma maneira fácil de utilizar o WP-Cron em conjunto com o popular plug-in WP C r ontrol gratuito. Este plugin permite monitorar e gerenciar as atividades dentro do sistema WP-Cron.

Create Amazing Websites

Com o melhor criador de páginas gratuito Elementor

Comece agora

O WP Crontrol possui um número impressionante de instalações ativas superiores a 200.000, juntamente com uma classificação excepcional de 4,5 em 5. Dentro da comunidade WordPress, este plug-in conquistou uma admiração significativa.

Este plug-in oferece utilidade notável, fornecendo uma visão geral abrangente dos trabalhos CRON que estão programados para serem executados. Ele serve como um excelente passo inicial para compreender os processos subjacentes e determinar seu status operacional. Tais méritos levaram a uma classificação unânime de 5 estrelas. Além disso, a capacidade de criar novos trabalhos cron e iniciar a execução dos existentes aumenta ainda mais seu valor, garantindo uma classificação adicional de 5 estrelas, conforme afirmado por Josh, o criador do Caldera Forms.

Para adquirir este plug-in, pode-se baixá-lo diretamente do repositório do WordPress ou localizá-lo no painel do WordPress na seção de plug-ins "Adicionar novo". Os recursos notáveis ​​do WP Control abrangem:

  • Uma exibição abrangente de todos os eventos cron, incluindo seus respectivos argumentos, padrões de recorrência e tempos de execução futuros.
  • A capacidade de modificar, remover ou iniciar imediatamente qualquer evento cron.
  • A provisão para introduzir novos eventos cron.
  • A opção de adicionar, modificar e remover agendamentos cron personalizados.

Cronogramas WP-Cron

Após a ativação, o usuário ganha a capacidade de modificar os cronogramas de tarefas do WordPress Cron acessando a seção "Cron Schedules" nas configurações do painel do WordPress. É importante observar que o plug-in introduz uma programação padrão extra de uma frequência semanal. Além disso, os usuários têm a opção de incluir horários adicionais medidos em segundos, por exemplo, 21600 segundos para executar tarefas a cada 6 horas.

Esses intervalos podem ser incorporados ao código utilizando um filtro, exemplificado pela seguinte linha de código:

add_filter( 'cron_schedules', 'example_add_cron_interval' );

function example_add_cron_interval( $schedules ) {
 $schedules['five_seconds'] = array(
 'interval' => 5,
 'display' => esc_html__( 'Every Five Seconds' ),
 );

return $schedules;
 }

Eventos WP-Cron


Posteriormente, o plug-in também pode ser utilizado para visualizar os trabalhos Cron do WordPress existentes que foram agendados. Para acessar esse recurso, navegue até a seção "Cron Events" na guia "Tools". Numerosos nomes de ação são prontamente identificáveis, pois espera-se que correspondam a partes específicas do nome do plug-in, como "woocoomerce_cleanup_sessions" ou "gravityforms_cron".


Para iniciar uma execução imediata de um evento Cron, basta clicar na opção "Executar agora" adjacente ao nome da ação correspondente. Essa funcionalidade se mostra vantajosa durante o processo de solução de problemas, principalmente quando é necessário executar um evento Cron várias vezes.

Adicionar Evento Cron

Além disso, você tem a opção de incorporar eventos Cron em sua configuração. Neste caso, demonstraremos o processo de adição de um trabalho WordPress Cron especificamente para o plug-in Disqus. Muitos indivíduos podem desejar executar esta tarefa para modificar a frequência de sincronização ou resolver problemas relacionados à sincronização de comentários. A documentação fornecida por cada desenvolvedor de plug-in terceirizado deve conter o nome designado para seu evento cron ou, em outras palavras, o nome da ação. No caso do plug-in Disqus, o nome da ação utilizada é "dsq_sync_forum".

Se você pretende criar um evento cron do zero, precisará de um gancho de ação correspondente em seu código, como o arquivo functions.php. O exemplo a seguir, cortesia de WP-Crontrol, ilustra esse conceito:

add_action( 'my_hookname', 'my_function' );

A próxima função que você vai escrever é -

function my_function() {
    wp_mail( '[email protected]', 'WP Crontrol', 'WP Crontrol rocks!' );
}


No caso do Disqus, nosso passo inicial envolve a incorporação de uma nova programação cron com duração de 600 segundos (equivalente a 10 minutos). Posteriormente, passamos a acessar o recurso "Add Cron Event", onde inserimos "dsq_sync_forum" como o nome da ação designada. Em seguida, selecionamos o tempo de execução subsequente e optamos pelo intervalo de 10 minutos que estabelecemos recentemente. Por fim, concluímos o processo selecionando "Add Cron Event". Consequentemente, esse procedimento garante uma recorrência automatizada a cada 10 minutos, facilitando a sincronização manual dos comentários do Disqus com nosso banco de dados WordPress.

Em essência, a utilização dessa funcionalidade é direta e fácil de usar.

Modificar evento de milho

Além disso, é possível modificar eventos Cron pré-existentes selecionando a opção "Editar" ao lado do nome da ação. Conseqüentemente, você ganha a capacidade de alterar o nome da ação, os argumentos, a execução subsequente e a recorrência programada. É importante ter cuidado ao fazer essas alterações, pois vários plug-ins dependem de seus trabalhos Cron para funcionar corretamente.

Adicionar um trabalho cron usando o cPanel

Se você tiver acesso a uma conta cPanel fornecida pelo seu host da Web, poderá utilizar o painel de controle para estabelecer tarefas cron. Para fazer isso, faça login em sua conta cPanel e navegue até a seção "Avançado", seguido de selecionar "Cron Jobs".

A página de configurações para Cron Jobs oferece opções para configurar notificações de cron job e estabelecer novas. Para incorporar um trabalho cron, navegue até a seção "Adicionar novo trabalho cron" rolando para baixo.

Nesta seção, você terá a oportunidade de ajustar a frequência do comando.

O menu Configurações comuns abrange várias opções pré-configuradas, variando de uma frequência de uma vez por minuto a uma vez por ano. Os usuários têm a flexibilidade de selecionar qualquer uma dessas opções ou personalizar os campos abaixo inserindo um valor personalizado.

Depois de configurar a frequência do trabalho cron, você pode inserir o comando que ele executará no campo Comando designado. Para preservar as alterações, salve o cron job selecionando a opção "Adicionar novo cron job". Conseqüentemente, o trabalho cron recém-criado será exibido entre os trabalhos cron atuais listados na parte inferior da página.

Desativar WP-Cron

Em certos casos, a utilização da função WP-Cron pode gerar complicações para o seu site. WP-Cron é uma versão simulada de um trabalho cron, sem a operação contínua normalmente associada a esses trabalhos. Em vez disso, o WordPress executa o script wp-cron.php cada vez que uma página é carregada.

Essa abordagem pode levar a desafios para sites com alto tráfego, pois recursos substanciais devem ser alocados para executar wp-cron.php durante cada carregamento de página. Se a execução do script falhar devido ao carregamento da página, os comandos agendados também poderão falhar na execução, pois o wp-cron.php não monitora ativamente os intervalos.

Se você encontrar problemas com o WP-Cron, você tem a opção de desativar esta função incorporando o seguinte código no arquivo wp-config.php do WordPress:

define('DISABLE_WP_CRON', true);

Uma vez que as modificações foram salvas no arquivo, o processo está completo. No entanto, se você optar por desativar o WP-Cron, precisará estabelecer uma solução alternativa empregando qualquer um dos métodos descritos nas seções anteriores deste tutorial.

Empacotando

Aumente a eficiência e reduza as despesas enquanto otimiza a funcionalidade do site, aproveitando integrações de nível empresarial avaliadas em US$ 275 ou mais, que são perfeitamente integradas a cada plano Managed WordPress. Essas integrações incluem uma rede de entrega de conteúdo (CDN) de alto desempenho, proteção robusta de negação de serviço distribuído (DDoS), proteções abrangentes contra malware e tentativas de hacking, mecanismos eficientes de cache de borda e as máquinas de CPU mais rápidas do Google. Comece sua jornada sem a necessidade de longos compromissos contratuais, beneficie-se de migrações guiadas e desfrute de uma garantia de reembolso de 30 dias.

Divi WordPress Theme