如何使用 celery 安排每月 1 日运行的任务?
从 Celery 3.0 开始,crontab 计划现在支持
day_of_month
和 month_of_year
参数:http://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html#crontab-schedules
您可以使用 Crontab 计划 来执行此操作,并且您可以定义它:
from celery.schedules import crontab
CELERYBEAT_SCHEDULE = {
'my_periodic_task': {
'task': 'my_app.tasks.my_periodic_task',
'schedule': crontab(0, 0, day_of_month='1'), # Execute on the first day of every month.
},
}
from celery import Celery
from celery.schedules import crontab
app = Celery('app_name')
app.conf.beat_schedule = {
'my_periodic_task': {
'task': 'my_app.tasks.my_periodic_task',
'schedule': crontab(0, 0, day_of_month='1'), # Execute on the first day of every month.
},
}
在 app.conf.beat_schedule(Celery Beat Scheduler) 中使用下面的 crontab:
crontab(小时=设置你的小时,分钟=设置你的分钟,周日=“”,月日=1,年月=“”)