步骤一:安装django-crontab库
pip install django-crontab
在settings.py 添加app:
INSTALL _APPS = (
# 注意是下横杠
'django_crontab',
)
步骤二:创建定时任务
def cron_test(status):
# 输出'auto'
logger.info(status)
在settings.py 增加:
# 早上10点到晚上19点之间每小时,早上9点执行
CRONJOBS = [
('0 10-20/1,9 * * *','apps.views.cron_test',['auto']),
]
参数及字段说明:
第一个参数(表示时间),前5个字段分别表示:
分钟:0-59
小时:1-23
日期:1-31
月份:1-12
星期:0-6(0表示周日)
一些特殊符号:
: 表示任何时刻
,: 表示分割
-:表示一个段,如在第二段里: 1-5,就表示1到5点
/n : 表示每个n的单位执行一次,如第二段里,/1, 就表示每隔1个小时执行一次命令。也可以写成1-23/1.
第二个参数(表示路径):
格式:app名称.文件名.函数名
如果想生成日志,那就再加一个字符串类型的参数:’>> path/name.log’, path路径,name文件名。’>>’表示追加写入,’>’表示覆盖写入。
提示:
如果你有多个定时任务,以逗号隔开,都放入CORNJOBS的列表中即可。
路径必须写绝对路径,写相对路径是不识别的
步骤3:启动任务
# 添加任务并生效
python manage.py crontab add
# 显示当前所有定时任务
python manage.py crontab show
# 删除当前所有定时任务
python manage.py crontab remove