Olá,
Criei um cron na hospedagem node e criei um simples arquivo de log, mas ele nunca chama a url que passei.
Já testei com curl:
curl -Sks http://nathansouza.com.br/cron
E também testei passando só a url. Não funcionou.
Olá,
Criei um cron na hospedagem node e criei um simples arquivo de log, mas ele nunca chama a url que passei.
Já testei com curl:
curl -Sks http://nathansouza.com.br/cron
E também testei passando só a url. Não funcionou.
estou com o mesmo problema
Estou com o mesmo problema
Eu entrei em contato com o suporte a respeito disso e eles me disseram que CRON só funciona com PHP, mas eu encontrei uma maneira de fazer funcionar com Node.js:
Acesse o servidor por SSH e crie um arquivo cron.sh
(por exemplo, através de vim cron.sh
) com o seguinte conteúdo:
#!/bin/bash
source ./.bash_profile && node $@
Dê as permissões necessárias ao arquivo para que possa ser executado: chmod +x ./cron.sh
Agora crie um CRON no painel com o comando ./cron.sh %CAMINHO_SCRIPT%
, substituindo o caminho do script, por exemplo: ./cron.sh ./cron-jobs/job1.js
.
Só não esqueça de lidar com erros corretamente no script e colocar um process.exit()
no final, porque senão o CRON vai ficar executando pra sempre, por exemplo:
try {
// do something
} catch (err) {
// handle error
}
process.exit();
Funcionou perfeitamente aqui quando coloquei pra executar em alguns minutos, mas eu ainda não testei a longo prazo. Vou ver se ele continua executando corretamente nas próximas 72 horas.