zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    High Executions Of Statement "delete from smon_scn_time..."
    centos6.5 vmware报错 (could open /dev/vmmon)
    VMware注册码
    VMware 延长bios等待时间
    centos7 修改引导顺序,默认引导windows,引导等待时间
    windows-linux(centos7)双系统-引导修复
    centos设置开机进入桌面模式或命令行模式
    centos 6 进入桌面后键盘和鼠标无法使用
    VMware ESXi
    js获取<input type='file'>的文件名和后缀名
  • 原文地址:https://www.cnblogs.com/yu121/p/14564109.html
Copyright © 2011-2022 走看看