我研究了PeriodicTask,但是示例仅涉及使其重现。我正在寻找一种类似cron的功能,例如说“每个星期一的凌晨1点执行此任务”的功能。
PeriodicTask
cron
感谢Patrick Altman,最近发布的1.0.3版现在支持此功能。
例:
from celery.task.schedules import crontab from celery.decorators import periodic_task @periodic_task(run_every=crontab(hour=7, minute=30, day_of_week="mon")) def every_monday_morning(): print("This runs every Monday morning at 7:30a.m.")
YourTask.apply_async(args=[some, args, here], eta=when)
并且在任务结束时,将其重新安排为下一次应运行。