一、前期工作:
1、安装django-crontab
pip install django-crontab
2、添加app名称到 settings.py配置文件中
INSTALLED_APPS = (
'django_crontab',
...
)
二、布置定时任务
django-crontab定时任务可以分成两种,一种是执行自定义的mange.py的命令,另一种是执行自定义函数。
方式一:自定义函数方式
1、定义定时任务函数
def test():
print 123
#你要执行的任务函数
2、在 settings.py中的最后增加指定参数
CRONJOBS = [
('*/5 * * * *','你的app名.定时函数所在的py文件名.定时函数名','>>输出文件路径和名称')
]
#如果你有多个定时任务,都放入CORJOBS中即可
#‘>>/home/test.log’,通常会输出信息到一个文件中,
#就使用这个方法,注意的是‘>>’表示追加写入,’>’表示覆盖写入。
===========================================================
crontab的定时书写格式:
f1 f2 f3 f4 f5
分 时 日 月 周
第一列f1代表分钟1~59:
当f1为*表示每分钟都要执行;
为*/n表示每n分钟执行一次;
为[a-b]表示从第a分钟到第b分钟这段时间要执行;
为a,b,c,...表示第a,b,c分钟要执行
第二列f2代表小时0~23(0表示凌晨):
当f2为*表示每小时都要执行;
为*/n表示每n小数执行一次;
为a-b表示从第a小时到第b小时这段时间要执行;
为a,b,c,...表示第a,b,c小时要执行
第三列f3代表日1~31:含义如上所示,以此类推
第四列f4代表月1~12:含义如上所示,以此类推
第五列f5代表星期0~6(0表示星期天)
============================================================
三、启动定时任务
以上都完成后,需要执行一下命令
- 将任务添加并生效
python manage.py crontab add - 显示当前的定时任务
python manage.py crontab show - 删除所有定时任务
python manage.py crontab remove - 重启django服务
- 执行定时任务
corntab -e
这样就可以看到系统中创建了该定时任务。 说到底,只是django-crontab插件对linux底层的调用
网友评论