我正在使用django并尝试设置一个每天执行的crontab。我在其他地方看到您可以使用crontab设置一个电子邮件地址,这样如果crontab失败,我将收到一封电子邮件到我的电子邮件地址,说明它已失败。
我看到你可以为 crontab 做到这一点,但我不确定你是否可以使用 crontab 在 Django 中做到这一点。这是我 settings.py 的 crontab 部分的样子:
CELERYBEAT_SCHEDULE = {
'daily-mailer': {
'task': 'tasks.views.mail_automated',
'schedule': crontab(day='*'),
'args': (),
}
{
任何帮助将不胜感激!
查看您的评论,您正在尝试在此处组合 *nix crontab 和 celery crontab。
假设您仍在使用 Celery 3.x:
如果你将 django 安装配置为能够发送电子邮件 (https://docs.djangoproject.com/en/1.10/topics/email/),你可以设置 CELERY_SEND_TASK_ERROR_EMAILS = True
设置中 (http://docs.celeryproject.org/en/3.1/configuration.html#error-e-mails)。
这会将执行任务时发生的任何错误发送给 ADMINS
变量中指定的收件人。
不幸的是,Celery 4.x删除了该功能(http://docs.celeryproject.org/en/latest/whatsnew-4.0.html#features-removed-for-simplicity)。