【发布时间】:2019-09-21 08:48:05
【问题描述】:
我能够创建 celery_beat_schedule 并且它可以工作。耶!
但我想知道是否有任何方法可以为同一 Django 模型的不同对象创建 cronjob。
Settings.py
CELERY_BEAT_SCHEDULE = {
'ok': {
'task' : 'bill.tasks.ok',
'schedule' : crontab(minute=27, hour=0),
# 'args' : (*args)
}
}
bill/tasks.py
from celery import task
@task
def ok():
bills = Bill.objects.all()
for bill in bills:
perform_something(bill)
我想更改每个对象的 crontab 时间。我该怎么做?
假设我在模型对象中有一个小时和分钟的值
感谢您的宝贵时间 :)
好吧,我无法找到如何为每个任务实例运行不同的 crontab。但是还有另一种运行方式。只需每小时运行一次 crontab,每次检查您的查询是否与 tasks.py 中的当前时间匹配。
【问题讨论】:
标签: django cron celery celerybeat