Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Poderiam me ajudar como posso programar para que tarefas sejam executadas automaticamente em meu servidor.
Exemplo: enviar email para aniversariantes, simples mas como isso poder ser executado de forma automática?
Pensei em algo com cron no servidor cPanel ou python... Mas como poderia criar, aliás como se chama isso ?
Neste caso usaria chamaria um site em determinado horário...
Se pensar em deixar uma solução rodando, não um socket mas consultando algumas tabelas em busca de ações de retorno.
Exemplo preciso converter algumas imagens em textos via ocr, uso cURL para isso e deixaria a cargo dessa solução para não.ocupar o usuário, assim que TD fosse.comvertido.eu crio.uma notificação e mando email...
Seria uma das tarefas que pensei, quando fala cron já me vem na cabeça "gambiarra" em .sh ou .bat
Opa @mateus.andriollo.
Você deveria fazer algo assim, meu chapa:
/usr/bin/php /caminho/para/o/meu/arquivo.php uma_variavel > /var/log/log_da_ultima_execucao_do_arquivo_php.log
▲ ▲ ▲ ▲
| | | +--> Log de execução
| | +--> Opcional. Personaliza a execução do script
| +--> Código a ser executado.
+--> Caminho do interpretador PHP.
Perceba que a execução é comum de qualquer arquivo PHP:
// Criamos um arquivo com um teste qualquer
❯ echo '<?php echo 1+1; ?>' > teste.php
// Executamos utilizando o mesmo procedimento mencionado acima
❯ /usr/bin/php teste.php
2
E no caso você define sua Cron assim (exemplo para execução a cada 30 mins):
/30 * /usr/bin/php /caminho/para/o/meu/arquivo.php uma_variavel > /var/log/log_da_ultima_execucao_do_arquivo_php.log
Maiores informações:
https://crontab-generator.org/
https://www.hostinger.com.br/tutoriais/cron-job-guia
Esse é o caminho mais correto e que vai economizar mais recursos de máquina. Se você deixar um arquivo rodando com Keep Alive, sleep ou qualquer coisa nesse sentido, vai acabar consumindo muito mais recursos de máquina, pois estará chamando o servidor web (Apache / Nginx) desnecessariamente.
E lembre-se: não bloqueie a sessão! Evite abrir session_start em crons, ao menos que você elabore uma estratégia de sessão não-bloqueante, como explicado no link.
cron jobs