Eu preciso executar um script python periodicamente para o meu projeto django. Então estou usando o django_crontab.
Isso é o que crontab -e
tem
*/1 * * * * /home/myvenv/bin/python /home/user/myproj/manage.py crontab run b74d4d1f47748498b81b5bcf863684c3 >> /home/user/myproj/myapp/file.log
O script python deve imprimir 'Hello' para file.log a cada 1 minuto.
def cronSendEmail():
print("Hello")
return True
O log em / var / log / syslog
Jan 3 22:35:01 me CRON[24607]: (myuser) CMD (/home/myvenv/bin/python /home/user/myproj/manage.py crontab run b74d4d1f47748498b81b5bcf863684c3 >> /home/user/myproj/file.log
Jan 3 22:35:02 me CRON[24606]: (CRON) info (No MTA installed, discarding output)
Isso está sendo registrado a cada minuto, mas "Hello" não é impresso. file.log está vazio. Por que o "Olá" não está sendo impresso? Não há MTA instalado, descartando a saída, o problema principal?
EDIT: Este é o projeto django e estou criando a tarefa via django-crontab em settings.py
CRONJOBS = [ ('*/1 * * * *', 'app.cronSendEmail', '>> /home/user/myproj/file.log') ]