【发布时间】:2016-05-04 10:04:59
【问题描述】:
我有一个 celery 任务,我需要它在接下来的五天凌晨 12.30 运行。我如何使用 celery-beat 做到这一点。我知道如何永远定期运行它,但只能在接下来的五天里弄清楚有什么想法吗?
【问题讨论】:
-
你有运气吗?
标签: rabbitmq celery celery-task celerybeat
我有一个 celery 任务,我需要它在接下来的五天凌晨 12.30 运行。我如何使用 celery-beat 做到这一点。我知道如何永远定期运行它,但只能在接下来的五天里弄清楚有什么想法吗?
【问题讨论】:
标签: rabbitmq celery celery-task celerybeat
查看crontab 的 celery-beat 文档。尽管如果这实际上是一次性的,那么根据定义,它并不完全是周期性的。您可以将 crontab 定期任务设置为在接下来的 5 天的凌晨 12:30 运行,但您还必须记住手动将其关闭。
如果你走这条路
from celery.schedules import crontab
CELERYBEAT_SCHEDULE = {
'add-at-midnightish': {
'task': 'tasks.add',
'schedule': crontab(hour=0, minute=30,),
'args': (16, 16),
},
}
或者,您可以在apply_async 上使用eta 关键字,如@987654322@ 中所述
【讨论】: