Cron é um utilitário UNIX padrão para agendar a execução de tarefas (script ou comando) em uma hora, data ou intervalo específico. A tarefa que ela vai executar é conhecida como cron job. Como você pode adivinhar, o propósito de um cron job é automatizar tarefas repetitivas para que você possa usar seu tempo de forma mais produtiva.
No entanto, o cron job do WordPress é ligeiramente diferente do cron padrão, e é por isso que antes de mergulhar em ação e processo, você precisa entender o que é um cron do WordPress e como ele funciona.
- O que é o WordPress Cron?
- Como gerenciar um cron job do WordPress
- Como gerenciar tarefas do WordPress Cron com Plugin
- Passo 1: Instalar o WP Control Plugin
- Step 2: View and Understand Cron Events
- Passo 3: Editar evento Cron
- Step 4: Adding a Custom Time Interval
- Passo 5: Adicionando um novo evento Cron
- Como gerenciar trabalhos do WordPress Cron com WP CLI
- Como configurar um trabalho Cron real
- Passo 1:Abrir e Editar arquivo wp-config.php
- Passo 2: Adicionando um novo Cron Job ao Servidor
- Palavras Finais!
O que é o WordPress Cron?
WordPress tem o seu próprio sistema cron para agendar tarefas como verificar actualizações, agendar um post para publicação, e apagar comentários do lixo. Todas as tarefas cron são tratadas por WP-Cron.
WordPress tem o seu próprio sistema de agendamento de tarefas como a verificação de actualizações, o agendamento de um post para publicação e a eliminação de comentários do lixo. Os intervalos de tempo padrão fornecidos pelo WordPress são horários, duas vezes ao dia, diários e semanais. Aqui, as tarefas baseadas no tempo dependem dos usuários que visitam seu site, o que significa que o WP-Cron só será executado se um usuário visitar seu site.
Em outras palavras, o WP-Cron é executado quando a página é carregada. Às vezes isso não é tão confiável, e é por isso que muitos usuários preferem um cron job a nível de servidor ao invés do WP-Cron job.
Neste artigo, vou mostrar a você como gerenciar cron jobs do WordPress e configurar um cron job real para o seu site WordPress.
Como gerenciar um cron job do WordPress
Existem muitas maneiras de configurar e gerenciar cron jobs do WordPress, mas vou mostrar dois métodos populares.
O primeiro usa um plugin de gerenciamento de cron como o WP Crontrol que permite adicionar, modificar e gerenciar cron jobs do WordPress diretamente do painel de controle do WP. Você também pode criar um cron job, construir ganchos e funções e definir intervalos de tempo personalizados para tarefas.
E o segundo método é com WordPress CLI.
Como gerenciar tarefas do WordPress Cron com Plugin
Utilizarei o plugin WP Crontrol que permite visualizar e controlar tarefas do cron do WP para seu aplicativo WordPress. É o plugin popular usado para lidar com tarefas WP cron e tem mais de 100.000 instalações ativas.
Esse é o método mais fácil de gerenciar tarefas cron do WordPress e você pode rapidamente visualizar, editar, criar, excluir e pode fazer muito mais com eventos WP cron.
Então vamos começar!
Passo 1: Instalar o WP Control Plugin
Apenas como qualquer outro plugin, você precisa instalar o WP Crontrol a partir do repositório de plugins e ativá-lo. Uma vez instalado, você vai notar que uma nova opção “Cron Events” apareceu na aba Tools.
Step 2: View and Understand Cron Events
Next, você precisa clicar em Cron Events e verá uma lista de cron events que estão rodando no seu aplicativo WordPress.
A partir desta seção, você pode executar, editar e excluir seus cron events. Você verá esta opção quando passar o mouse sobre qualquer evento cron.
Você também encontrará informações úteis sobre estes cron jobs, e rapidamente identificará qual cron job é usado para que propósito e muito mais. Na primeira coluna, Gancho mostra o nome do gancho usado pelo núcleo do WordPress ou qualquer plugin. Por exemplo, o prefixo “wp” mostra simplesmente que se trata de um cron do núcleo do WordPress. Você também notará que não há opção para excluir esses eventos do cron, entretanto você pode usar as opções editar e executar agora. Da mesma forma, para seus plugins, você notará outros prefixos sendo usados (por exemplo, para WooCommerce, “wc” ou “woocommerce”).
A segunda coluna Argumentos contém apenas os argumentos que são passados para as funções de gancho.
A terceira coluna mostra quando este cron job vai ser executado na próxima vez.
A quarta coluna Ação mostra que ação este cron vai executar (a “função” do cron job).
A última coluna define os tempos de recorrência dos cron jobs. Este é basicamente o intervalo de tempo para a tarefa agendada.
Passo 3: Editar evento Cron
Agora vamos editar um cron job WP para testar este plugin.
Vá para o nome de um gancho e clique em editar. Uma nova seção “Edit Cron Event” irá aparecer onde você verá diferentes campos. No meu caso, eu editei o gancho “wp_privacy_delete_old_export_files”. A seguir, vou alterar a recorrência deste cron job para “Every Fifteen Minutes”.
Step 4: Adding a Custom Time Interval
Next, vou mostrar-lhe como adicionar um intervalo de tempo personalizado para os seus eventos cron. Para isso, clique na aba “Cron Schedule” e aparecerá uma nova tela onde você verá os detalhes dos intervalos de tempo programados. Em seguida, desça até a parte inferior onde você verá “Add Cron Schedule” (Adicionar Cron Agenda). Preencha os campos e clique em Add Cron Schedule.
Note que a entrada para o intervalo é em segundos. Vou usar 600 segundos para definir o intervalo para 10 minutos.
Agora você pode editar seu evento cron e substituí-lo pelo seu próprio intervalo personalizado.
Passo 5: Adicionando um novo evento Cron
Agora você sabe como gerenciar as tarefas simples para seus eventos cron, mas e se você quiser adicionar seu próprio trabalho cron para seu aplicativo WordPress. Não se preocupe, é tão simples e tudo que você precisa fazer é seguir as instruções abaixo.
Primeiro, clique em Adicionar Evento Cron e você entrará na seção adicionar cron. Depois, apenas dê um nome de gancho como desejar (deve seguir a convenção normal de nomes PHP e sem espaços).
Então, adicione argumentos (é opcional) e no meu caso está em branco. E a seguir, selecione qualquer opção e coloque um tempo no campo Next Run. Por último, escolha uma hora de recorrência (hora do cron) para o seu novo cron e clique em Add Event.
Se você tiver alguma dúvida sobre isso, então você pode verificar as configurações de qualquer cron job em execução do seu cron events.
Após adicionar um novo cron job, então vá para a aba events do cron e verifique o seu cron recém-criado. Você notará que na coluna de ação ele mostrará Nenhum (erro). Isto é porque você não definiu nenhuma ação para este cron job. Portanto, você precisa escrever algumas linhas de código no arquivo functions.php do tema e adicionar uma action.
Note: Antes de continuar, é altamente recomendado fazer um backup do site WordPress.
Vamos abrir o ficheiro e adicionar as seguintes linhas de código logo após <?php:
add_action( 'cloudways_new_cron', 'cw_function' );function cw_function() {wp_mail( '[email protected]', 'Cloudways Cron', 'Cloudways - a Managed Cloud Hosting!' );}
Não se esqueça de substituir o meu endereço de e-mail pelo seu.
Pode ver na imagem acima, eu editei directamente com o tablier do WordPress. Se você desejar, você pode editar este arquivo via um cliente FTP como FileZilla.
Next, vamos verificar a caixa de entrada de e-mail e ver se estamos recebendo a mensagem.
Tada! Está feito e adicionamos com sucesso um novo cron event.
Como gerenciar trabalhos do WordPress Cron com WP CLI
Você também pode visualizar e gerenciar todos os seus trabalhos do WordPress cron a partir do WordPress CLI. No Cloudways, você precisa iniciar o terminal e fazer login com as credenciais do servidor.
Próximo, coloque o caminho do seu aplicativo WordPress. No meu caso, a URL era :
cd applications/urrghmpqks/public_html/
Próximo, você precisa executar este comando:
wp cron event list
Você pode ver o nome do gancho, o próximo tempo de execução, o próximo tempo de execução relativo, e a recorrência (tempo programado).
Como configurar um trabalho Cron real
Agora, você sabe o que é um trabalho cron do WordPress e como ele funciona. E se você quiser substituí-lo por um cron job real devido a qualquer razão como baixo tráfego, tarefas importantes que precisam ser executadas em um determinado momento, ataques DDoS excessivos, ou alto tempo de carregamento de página.
Então vamos começar!
Passo 1:Abrir e Editar arquivo wp-config.php
Primeiro, você precisa abrir o arquivo wp-config usando um cliente FTP como o FileZilla ou cliente SSH como o puTTY. Depois disso, edite o arquivo e coloque a seguinte linha de código antes da linha onde diz /* Isso é tudo, pare de editar! Feliz blog. */
Código:
define('DISABLE_WP_CRON', true);
Este código desabilita os eventos cron em execução no seu site WordPress e agora você pode criar um cron job real.
Passo 2: Adicionando um novo Cron Job ao Servidor
Próximo, faça o login na sua plataforma Cloudways e depois vá para o painel de gerenciamento de aplicativos > Cron Job Management > Seção avançada.
A seguir adicione o seguinte comando e clique em Save Changes:*/5 * * * * wget -q -O - 'https://wordpress-413270-1299955.cloudwaysapps.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
No comando acima, primeiro, defini um intervalo de cinco minutos para o cron job. Você pode usar este site para verificar a expressão do cronograma. No meu caso, */5 * * * *
é a expressão intervalo.
Congratulações! Você adicionou com sucesso um cron job real.
Palavras Finais!
Espero que este artigo o tenha ajudado a entender como funciona o cron job do WordPress. Eu discuti dois métodos para gerenciar cron jobs do WordPress; um através de um plugin e o outro através do WP-CLI. Eu também discuti como configurar um cron job real em um servidor ao vivo.