django-crontab 定时执行任务方法

一、前期工作:

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底层的调用

你可能感兴趣的:(django-crontab 定时执行任务方法)