感谢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)
并且在任务结束时,将其重新安排为下一次应运行。