• Django crontab


    1. 安装

      pip install django-crontab

    2. 添加app

      在 settings.py 文件中添加 django-crontab:
      INSTALLED_APPS = (
      ...
      'django_crontab',
      )

    3. 配置

       定时函数

       在django项目的settings.py中添加以下命令

    CRONJOBS = [
        # 定时函数每分钟执行一次
        ('*/1 * * * *', '你的app名.定时函数所在的py文件名.定时函数名'),
        # 将定时函数执行结果输出到指定文件(如果该路径或文件不存在将会自动创建)
        ('*/1 * * * *', '你的app名.定时函数所在的py文件名.定时函数名', '>> 输出文件路径和名称')
    ]
    例如:
    CRONJOBS = [
        # 定时函数每分钟执行一次
        ("*/1 * * * *", "app.views.check", ">>/home/test.log"),
        ("*/1 * * * *", "app.views.check_connect", ">>/home/target_test.log"),
        ("*/1 * * * *", "app.views.connect", ">>/home/soft_test.log")
    ]
    
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project_name.settings")# project_name 项目名称 要并写正确
    django.setup()

    4. 操作命令

    查看系統中已有的定时任务:python manage.py crontab show
    添加和修改定时任务:python manage.py crontab add
    # 每次CRONJOBS中的任务发生变化时,都要执行一遍该命令。
    删除定时任务:python manage.py crontab remove
    # run 是立刻运行这个定时任务
    # linux 查看当前用户 定时任务,编辑
    crontab -e

    列出目前的crontab
    crontab -l

    注意:django_crontab一定要注册在应用名之前
    #django中单次手动执行定时任务
    python manage.py crontab run <tash_hash_id>

    django-crontab不支持windows和mac系统;在windows上执行会报错

    ‘>>/home/test.log’,通常会输出信息到一个文件中,就使用这个方法,注意的是‘>>’表示追加写入,’>’表示覆盖写入。

    crontab -e
    查看crond服务状态:
    
    #查看状态
    service crond status
    #开启服务
    service crond start
    #关闭服务
    service crond stop
    #重启服务
    service crond restart

     crontab -l  当前任务存在,但是不生效:

    手动启动crontab服务:
    
    find / -name crond
    /usr/sbin/crond start

    报错:sh: /usr/bin/crontab: No such file or directory

    yum -y install crontabs

    crond服务

    安装crontab:

    yum install crontabs

    参考:https://www.cnblogs.com/stssts/p/10097511.html

  • 相关阅读:
    LOJ 2553 「CTSC2018」暴力写挂——边分治+虚树
    hdu 1028 & hdu 1398 —— 整数划分(生成函数)
    bzoj 4827 [Hnoi2017] 礼物 —— FFT
    bzoj 4503 两个串 —— FFT
    bzoj 3527 [Zjoi2014] 力 —— FFT
    bzoj 3160 万径人踪灭 —— FFT
    bzoj 2194 快速傅立叶之二 —— FFT
    bzoj 2179 FFT快速傅立叶 —— FFT
    洛谷 P3803 多项式乘法(FFT) —— FFT
    CF 1009 F Dominant Indices —— 长链剖分+指针
  • 原文地址:https://www.cnblogs.com/yu121/p/14564109.html
Copyright © 2020-2023  润新知