五大参数
minute:分钟,范围0-59;
hour:小时,范围0-23;
day_of_week:星期几,范围0-6。以星期天为开始,即0为星期天。这个星期几还可以使用英文缩写表示,例如"sun"表示星期天;
day_of_month:每月第几号,范围1-31;
month_of_year:月份,范围1-12。
简单定时任务实例
1、crontab只能执行最小单位分的定时任务
from celery.schedules import crontab
# 声明定时任务
app.conf.beat_schedule = {
u'feiyanapp_tasks_send_emails': { # 任务名,可以自定义
"task": "feiyanapp.tasks.send_emails", # 任务函数所在位置
# 定时每月15-25号,周一至周五,早上9点10分发送邮件
"schedule": crontab(minute='10', hour='9', day_of_week='1-5', day_of_month='15-25')
}
}
想执行秒为单位的任务,需要用到datetime中的模块timedelta
from datetime import timedelta
app.conf.beat_schedule = {
'timed_task_24hours':{
'task':'celery_package.banner_update.update_banner', # 任务
'schedule':timedelta(seconds=1), # 每秒执行一次
# 'schedule':crontab(hours=8, day_of_week=1), # 每周一早上 8 点
# 'args':(6,7), # 任务需要传入的参数
},
# # 可以继续添加
}
2566

被折叠的 条评论
为什么被折叠?



