问题描述
我们可以使用单个crontab函数使芹菜任务在1:30、3:00、4:30、6 AM运行吗?
即 (pd.wide_to_long(df,i=["Activity","General"],stubnames=["t","m"],j="number")
.set_axis(["Task","M"],axis="columns")
.droplevel(-1).reset_index()
)
Activity General Task M
0 P1 AA TA1 A1
1 P1 AA TA2 A2
2 P1 AA TA3 A3
3 P2 BB TB1 B1
4 P2 BB TB2 B2
5 P2 BB TB3 B3
将在上午1:30、3:30、4:30、6:30运行它
但是我希望它从1:30到6AM每90分钟运行一次
解决方法
我将创建两个单独的时间表(不是单独的功能),
CELERY_BEAT_SCHEDULE = {
"task_one": {
"task": "path.to.task.my_task_function","schedule": crontab(minute="30",hour="1,4")
},"task_two": {
"task": "path.to.task.my_task_function","schedule": crontab(hour="3,6")
},}
在这里,日程表指向相同的名为 my_task_function(...)
的功能,但是具有单独的日程表配置。
在此设置下,task_one
将在世界标准时间1.30和4.30执行,而task_two
将在3.00
和6.00
世界标准时间执行