需求
在网站上要实现一些定时任务,比如说
-
电商网站 订单问题
一个未下单的订单在半小时后要进行删除,或者是修改订单状态
-
预约系统 预约记录问题
在预约系统中,我预约了一个教室或者是图书馆的一个座位等,当超过我预约的时间并且我没有去赴约,这时候要修改该教室(图书馆座位的状态)
使用
- 安装
pip install django-crontab
- 使用
- 配置
在setting.py中的INSTALLED_APPS加入django_crontab
- 添加定时任务
在要使用定时任务的一个app中新建一个py文件,名字随便起
然后在里面写一个函数,这个函数就是你要进行的定时操作
- 在setting.py中添加这个定时任务
列表的元素是一个一个的元祖,
元组的第一个参数是时间,第二个是定时任务(app名.py文件名.函数名),最后一个参数是命令具体参数解释:
前5个(*)星号:
M(分钟0-59)
H(小时0-23)
D(天1-31)
m(月1-12)
d(一星期内的天0-6,0为星期天)
特殊符号:
* 代表所有的取值范围的数字
/ 代表每的意思,*/5就是每5个单位
- 代表从某个数字到某个数字
, 分开几个离散的数字
- 启动任务
当添加一个定时任务后:# 将任务添加并生效 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