我有一个django项目,该项目利用函数notify_about_changes以表格格式向用户发送有关上周对象历史记录的电子邮件。当它通过
手动发生时,它工作正常$python manage.py shell
为了自动完成这项工作,我调查了Django-Kronos并按如下方式配置了crontab: -
$sudo crontab -e
*1 * * * * pathto/venv/python3.4 pathto/manage.py notify_about_changes
$sudo cron restart
问题: - crontab无法解决其问题,例如我的ipaddress中的响应失败。
答案 0 :(得分:0)
这可能不能直接回答你的问题,但我也很难用dron和cang一起使用cron,然后我转而使用{c}与{c}相比灵活的APScheduler
。它有一个cron样式调度程序:
与APScheduler
和cron
等类似模块相比,celery
的主要优点是可以动态更改计划,而无需重新启动计划程序。
答案 1 :(得分:0)
当您从Cron调用您的应用程序时,它将“捕获”并处理您的应用程序生成的所有信息。
我不知道您正在使用的这个模块,但我相信以下其中一项将解决您的问题:
1-配置Cron将日志文件发送到特定文件。
2-将sys.stderr和sys.stdout更改为特定配置,如终端,shell,-app等
3-配置日志记录模块以更正所有信息。
答案 2 :(得分:0)
这可能是一个错字,但你的crontab看起来有一个错误的初始星号。它应该是:
1 * * * * pathto/venv/python3.4 pathto/manage.py notify_about_changes
这将在每小时过去一分钟运行脚本,这可能不是您想要的每周任务。相反,您可能想尝试:
0 0 * * 0 pathto/venv/python3.4 pathto/manage.py notify_about_changes
将在每个星期天午夜开始工作。