Como é que crio um trabalho cron a partir do painel do LWS?

Procédure

O que é um cron job?

O objetivo de um cron job é executar automaticamente um script, um comando ou um programa em horários definidos.

Com o"LWS cron job", pode programar um script no seu site para ser executado em horários diferentes. Por exemplo, uma vez por semana, uma vez por dia, no dia 8 de cada mês, etc.

É aplicado um tempo limite de 240s a estas tarefas, o que significa que se o seu script demorar mais de 4 minutos a ser executado, será automaticamente encerrado após 4 minutos.

Como é que crio uma tarefa cron?

1. Aceda à ferramenta Tarefa Cron

Primeiro, ligue-se ao seu painel de cliente LWS

Em seguida, aceda à gestão do serviço para o qual pretende criar uma tarefa cron.

Uma vez na gestão do seu serviço, procure o bloco "Database & PHP" e clique em "Cron Tasks".

Como é que crio um trabalho cron a partir do painel do LWS?

2. Configurar a frequência do cron job

A primeira coisa a configurar para o seu cron job é a sua periodicidade.

O LWS oferece uma série de pré-definições que lhe permitem configurar isto com apenas 1 clique.

Para isso, basta utilizar a primeira lista no topo do formulário e selecionar um dos parâmetros propostos. Os campos serão automaticamente preenchidos de acordo com a periodicidade indicada na lista que seleccionou.

Como é que crio um trabalho cron a partir do painel do LWS?

Se a periodicidade que pretende configurar não for proposta nesta primeira lista, não se preocupe, podemos configurar cada elemento.

Para cada elemento (minutos, horas, dias, etc.), pode introduzir os valores manualmente ou utilizar o campo de lista à direita de cada campo.

Assim, se, por exemplo, quiser que a minha tarefa comece todos os dias às 12:27, só tenho de selecionar o número 27 na lista anexa ao campo dos minutos e selecionar 12:00 pm na lista anexa ao campo das horas.

Dicas / Conselhos

  • Exceto em casos muito especiais, não recomendamos a criação de uma tarefa cron para ser executada a cada minuto, de modo a não saturar o servidor e, consequentemente, reduzir o desempenho do seu serviço.
  • Prefira tarefas que sejam executadas à noite e a horas específicas (por exemplo, 3h47) para evitar que as suas tarefas sejam executadas ao mesmo tempo que possíveis tarefas automáticas, como podem fazer alguns CMS ou ferramentas utilizadas no seu sítio.

3. Configurar o campo de comando

Existem três formas de chamar o seu script através da ferramenta Cron Task:

  • Chamada PHP
  • Chamada de wget
  • Chamada cURL

A diferença entre estas três opções reside principalmente na forma como executam o seu script.

Uma chamada Wget ou Curl utiliza o protocolo HTTP, o que significa que estará sujeita às configurações e restrições do Apache, como o tempo limite, que pode ser relativamente curto.

A chamada PHP, por outro lado, estará livre das limitações que já discutimos com os outros dois métodos. Pense na chamada PHP como se estivesse a passar por uma ligação SSH.

Por isso, pode perguntar-se qual o método a escolher para configurar a sua tarefa Cron. A minha resposta seria que não existem diferenças reais nos scripts básicos que são executados rapidamente. No entanto, se a sua tarefa CRON for bastante grande, com muitas acções executadas e, por conseguinte, um tempo de execução ligeiramente superior, o método mais adequado será uma chamada PHP. Ao contrário do Curl ou do Wget, o tempo limite será mais longo (4 min).

Vamos ver como configurar um cron job para cada uma das chamadas mencionadas acima. Tomaremos como exemplo um site simples que chama um script de raiz.

Chamada cURL

Numa chamada curl utilizando o protocolo HTTP, chamamos simplesmente o URL para o nosso ficheiro da seguinte forma

curl https://www.mon-domaine.fr/cron.php

Podemos também precisar de enviar parâmetros para o nosso script. Para o fazer, basta adicioná-los da seguinte forma:

curl -d "param1=value1&param2=value2" https://www.mon-domaine.fr/cron.php

Podemos então recuperar estes valores de parâmetros no código do nosso script POST.

Chamada Wget

Durante uma chamada Wget, que também utiliza o protocolo HTTP, tal como na chamada cURL, também chamamos o URL do nosso script. Isto dará :

wget "https://www.mon-domaine.fr/cron.php"

Se precisarmos de passar parâmetros ao script, com o Wget não teremos outra opção senão passar os parâmetros em GET. Aqui está como escrever o comando:

wget "https://www.mon-domaine.fr/cron.php?param1=value1&param2=value2"

No script, podemos obter estes dois parâmetros utilizando GET.

Chamada PHP

No caso de um site simples, imaginemos que o ficheiro que contém o meu script se chama cron.php

Tudo o que precisa de fazer é introduzir o seguinte comando na ferramenta Cron Task:

php /htdocs/cron.php

Aqui, a versão do PHP utilizada para executar o seu script será a 8.0 por defeito.

Se pretender utilizar uma versão específica do PHP, basta modificar ligeiramente a chamada. Por exemplo, se quiser utilizar a versão 7.2 para executar o script, este é o comando chamado :

php72 /htdocs/cron.php

Podemos também precisar de passar um argumento que será depois utilizado no nosso script.

Por exemplo, imaginemos que o objetivo do nosso script é enviar um e-mail com base num critério que definimos, como o aniversário. Podemos, portanto, querer passar este critério na chamada. Eis como o fazer através da linha de comandos :

php72 /htdocs/cron.php type=anniversary

Casos especiais

Existem também casos especiais, dependendo do que utiliza para o seu sítio.

Por exemplo, no caso de um site criado com a framework Cakephp, a configuração da tarefa CRON será um pouco diferente porque será feita através de um comando SHELL chamado pelo sistema da framework.

Imaginemos que temos um site de comércio eletrónico criado com a estrutura Cakephp e que queremos configurar um script que enviará um e-mail ao melhor cliente para lhe oferecer um código promocional.

Vamos criar um comando Cake a que chamaremos SendCP, que conterá o script que gere o que queremos fazer. Eis como vamos configurar a tarefa Cron :

php72 /htdocs/Console/cake.php SendCP

Demoraria muito tempo a dar um exemplo de cada caso, mas com o que foi dado aqui, já tem uma boa base para utilizar a ferramenta de tarefas Cron.

Usando os vários exemplos, sabemos agora como escrever o nosso comando para ;

  • simplesmente executar o nosso script nos intervalos escolhidos
  • executar o nosso script adicionando parâmetros e nos intervalos escolhidos

4. Criar um ficheiro de registo

Vamos agora ver como criar um ficheiro de registo para podermos ver o que aconteceu durante o script chamado pelo Cron.

Para isso, vamos utilizar o exemplo abaixo para o nosso script CRON.

Exemplo de uma função PHP echo para o ficheiro de registo

<?php /* Para não ter que se preocupar com cache */ header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); /* Escreve a data atual no ficheiro, por exemplo: 2023/01/19 12:24:01 */ /* PHP_EOL permite-lhe saltar uma linha no ficheiro */ echo date('Y/m/d h:i:s').PHP_EOL; /* Escreve a frase abaixo no ficheiro de log */ echo 'A gravar o meu Cron'.PHP_EOL.PHP_EOL; ?>

Renderização do ficheiro de registo após o lançamento do script via Cron Job

2023/01/19 02:57:01 Gravando meu Cron 2023/01/19 03:57:01 Gravando meu Cron 2023/01/19 04:57:01 Gravando meu Cron 2023/01/19 05:57:01 Gravando meu Cron 2023/01/19 06:57:01 Gravando meu Cron 2023/01/19 07:57:01 Gravando meu Cron 2023/01/19 08:57:01 Gravando meu Cron

O que você coloca no seu arquivo de log dependerá de você e do que você quer acompanhar no seu script. Por exemplo, pode ser uma lista de acções com o resultado de cada uma.

Exemplo de uma chamada cURL com retorno num ficheiro de registo

Para uma chamada cURL, aqui está o comando a ser inserido no campo "Command":

curl https://www.mon-domaine.fr/cron.php >> /htdocs/logs/cron_curl.log

Neste exemplo, o feedback de escrita (echo PHP) será enviado para o ficheiro cron_curl.log na pasta logs. Se o ficheiro ou pasta não existir, será criado automaticamente.

Exemplo de uma chamada ao wget com feedback num ficheiro de registo

Para uma chamada ao Wget, eis o comando a utilizar:

wget -O - -q https://www.mon-domaine.fr/cron.php >> /htdocs/logs/cron_wget.log

Neste exemplo, o feedback de escrita (echo PHP) será enviado para o ficheiro cron_wget.log na pasta logs. Se o ficheiro ou pasta não existir, será criado automaticamente.

Exemplo de uma chamada PHP com feedback num ficheiro de registo

Para uma chamada em PHP, eis o comando a utilizar:

php72 /htdocs/cron.php >> /htdocs/logs/cron_php.log

Neste exemplo, o feedback de escrita (echo PHP) será enviado para o ficheiro cron_php.log na pasta logs. Se o ficheiro ou pasta não existir, será criado automaticamente.


Como é que posso gerir as minhas tarefas cron?

Depois de ter criado as suas tarefas cron, pode encontrá-las diretamente na listagem que aparece por baixo do formulário de adição.

Como é que crio um trabalho cron a partir do painel do LWS?

Aqui encontrará uma lista com o comando registado, a periodicidade e a opção de eliminar um cron ou de o colocar em pausa.

Como é que crio um trabalho cron a partir do painel do LWS?

Avaliar este artigo :

Este artigo foi útil para si ?

Article utileSim

Article non utileNão

Vous souhaitez nous laisser un commentaire concernant cet article ?

Si cela concerne une erreur dans la documentation ou un manque d'informations, n'hésitez pas à nous en faire part depuis le formulaire.

Pour toute question non liée à cette documentation ou problème technique sur l'un de vos services, contactez le support commercial ou le support technique

MerciMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Artigos semelhantes

0mn leitura

Multi-domínio - Colocar vários domínios no mesmo serviço de alojamento web

1mn leitura

É possível remover a função anti-spam do RSpamD no alojamento partilhado?

0mn leitura

Como posso ver as mensagens de correio eletrónico enviadas utilizando a função de correio PHP e bloqueadas pelo SPAMASSASSIN?


Fazer uma pergunta à equipa do LWS e à sua comunidade