django实现定时任务的几种方式

第一种方式:djang-crontab

1.安装使用方式

安装方式:pip install django-crontab

再在settings.py中添加app:django_crontab'

2. 创建定时任务

在app内新建py文件,文件名称随意。

例如我们在名为blog的app下新建了一个core.py文件。

内容:

# 项目名称/blog/core.pydeftask():#要执行的任务函数

然后在 settings.py中增加:

# 最简单配置CRONJOBS = [# 表示每天2:01执行('01 2 * * *','blog.core.task')]

第一个参数(表示时间):

前5个字段分别表示:

分钟:0-59

小时:1-23

日期:1-31

月份:1-12

星期:0-6(0表示周日)

一些特殊符号:

*: 表示任何时刻

,: 表示分割

-:表示一个段,如第二端里: 1-5,就表示1到5点

/n : 表示每个n的单位执行一次,如第二段里,*/1, 就表示每隔1个小时执行一次命令。也可以写成1-23/1.

第二个参数(表示路径):

格式:app名称/文件名/函数名

如果想生成日志,那就再加一个字符串类型的参数:'>> path/name.log', path路径,name文件名。'>>'表示追加写入,'>'表示覆盖写入。

提示:如果你有多个定时任务,以逗号隔开,都放入CORJOBS中即可。

3. 启动任务

以上都完成后,需要执行

pythonmanage.pycrontabadd

将任务添加并生效

显示当前的定时任务

pythonmanage.pycrontabshow

删除所有定时任务

pythonmanage.pycrontabremove

重启django服务

执行(可能不需要,因为自己并没有用,也正常使用了。)

pythonmanage.pycorntab-e

4. 问题

4.1 Django低级版本可以使用吗?

答:版本太低请安装0.6.0版本

pip install django-crontab==0.6.0

4.2 支持Windows吗?

答:不支持

4.3 使用add命令时,遇到"bad command"/"errors in cronfile"报错。

答:第一个参数错误,请仔细检查。

你可能感兴趣的:(django实现定时任务的几种方式)