django-crontab 实现定时作业

需求

在网站上要实现一些定时任务,比如说

  • 电商网站 订单问题

    一个未下单的订单在半小时后要进行删除,或者是修改订单状态

  • 预约系统 预约记录问题

    在预约系统中,我预约了一个教室或者是图书馆的一个座位等,当超过我预约的时间并且我没有去赴约,这时候要修改该教室(图书馆座位的状态)

使用

  • 安装
    pip install django-crontab
    
  • 使用
    1. 配置
      在setting.py中的INSTALLED_APPS加入django_crontab
      在这里插入图片描述
    2. 添加定时任务
      在要使用定时任务的一个app中新建一个py文件,名字随便起
      然后在里面写一个函数,这个函数就是你要进行的定时操作
      在这里插入图片描述
      在这里插入图片描述
    3. 在setting.py中添加这个定时任务
      列表的元素是一个一个的元祖,
      元组的第一个参数是时间,第二个是定时任务(app名.py文件名.函数名),最后一个参数是命令

      具体参数解释:
      前5个(*)星号:
      M(分钟0-59)
      H(小时0-23)
      D(天1-31)
      m(月1-12)
      d(一星期内的天0-6,0为星期天)
      特殊符号:
      * 代表所有的取值范围的数字
      / 代表每的意思,*/5就是每5个单位
      - 代表从某个数字到某个数字
      , 分开几个离散的数字
      在这里插入图片描述

    4. 启动任务
      # 将任务添加并生效
      python manage.py crontab add
      # 显示当前的定时任务
      python manage.py crontab show
      # 删除所有定时任务
      python manage.py crontab remove
      # 只运行定时任务试一试
      python manage.py crontab run 
      
      当添加一个定时任务后:
      得到了一个hash值,所以在进行run的时候:
      python manage.py crontab run 2fc2215151a785c33b28c74ad5feb636
      

参考 https://blog.csdn.net/u012442157/article/details/79866504

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值