2013-02-20 42 views
3

是否可以使用芹菜拍配置复杂的时间表?例如,如下所示:如何计划芹菜中的平日识别作业

星期一至星期五,用参数(x1,y1)做工作A,然后做工作B 星期六,星期天,用参数(x2,y2)做工作A,做工作B

我知道我可以实现一个高频率的“勾号”任务,将检查这个时间表,但我不想重新发明轮子,如果这件事已经存在。

回答

9

当然,使用crontab schedule为您的任务。

from celery.schedules import crontab 

CELERYBEAT_SCHEDULE = { 
    # Executes every weekday morning at 7:30 A.M 
    'weekdays': { 
     'task': 'tasks.A', 
     'schedule': crontab(hour=7, minute=30, day_of_week='1-5'), 
     'args': (x1, y1), 
    }, 
    # Executes saturday morning at 4:00 A.M 
    'saturday': { 
     'task': 'tasks.B', 
     'schedule': crontab(hour=7, minute=30, day_of_week='sat'), 
     'args': (x1, y1), 
    }, 
    # Executes sunday morning at 2:15 A.M 
    'sunday': { 
     'task': 'tasks.A', 
     'schedule': crontab(hour=2, minute=15, day_of_week='sun'), 
     'args': (x2, y2), 
    }, 
} 
+0

这是绑定到操作系统的crontab,或内部celerybeat? – Goro 2013-02-20 18:29:39

+0

@Goro:这是一个芹菜提供的课程。 – 2013-02-20 18:30:15