Django 定时任务 django-crontab
测试平台开发中,会有些定时任务的需求,在django中定时任务模块可以使用 django-crontab。
1、安装:pip install django-crontab
2、添加到django配置中,setting.py INSTALLED_APPS中
INSTALLED_APPS = ( 'django_crontab', #注意安装的时候是"-"配置中是"_" 。 )
3、可以创建目录文件,在文件中,写定时任务函数了。
4、配置定时任务,在setting.py中添加CRONJOBS配置
CRONJOBS = [ ('*/1 * * * *', 'produceTest.timeding.test','>>/logs/ding.log') # 第一位配置时间,第二位指定执行的函数,第三位指定log ]
这样配置就完成了。
5、启动定时任务
python manage.py crontab add
6、查看所有的定时任务
python manage.py crontab show
7、删除所有定时任务
python manage.py crontab remove
8、指定输出log
任务函数中可以使用print,logger等方法,会输出到指定的log中
注意:输出log的命名规则,不建议使用变量名,生成任务时,会生成对应的哈希值,用来标记每个任务,标识唯一的,第二天指定log名变更会生成新的哈希值,新的哈希值未在添加的任务中,所以不会被执行。可以使用固定命名的方式,第二天对固定的名的log进行更改
9、定时规则操作
(* * * * *) 对应的分,时,日,月,周
(0 6 10 5) 5月10日6点执行一次
* 表示任何值
/ 每的意思 eg:(*/3 * * * *)表示每3分钟执行一次
1-5 可以指定区间
例:
(* 6 * * *) 每天6点执行一次
(* */6 * * *) 每6个小时执行一次
定时规则参考文档:https://crontab.guru/examples.html

浙公网安备 33010602011771号