美文网首页
django-crontab 定时执行任务方法

django-crontab 定时执行任务方法

作者: SlashBoyMr_wang | 来源:发表于2019-02-14 23:03 被阅读0次

    一、前期工作:

    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 定时执行任务方法

          本文链接:https://www.haomeiwen.com/subject/dewyeqtx.html