一、环境
CentOS Linux release 7.3.1611 (Core) 必须是LINUX的操作系统
Python 2.7.5
django 1.9.9
二、安装 django-crontab模块
可从此链接下载再安装
安装过程略
三、修改DJANGO工程的settings.py
INSTALLED_APPS 加入如下一行, 'django_crontab',记得加到前面
INSTALLED_APPS = [
'django_crontab',
在settings.py最后再加入一段内容
CRONJOBS = [
('05 0 * * 1', 'dj27test.cron.funs','>>/tmp/cron.log')
]
说明:
dj27test表示项目的名称,在INSTALLED_APPS也是应该有导入的,cron.funs表示执行cron.py的funs方法,将结果追加重定向到指定的文件
注意,cron.py须与views.py在同一个目录内
计划任务的时间格式与操作系统的cron格式一致
四、编写好计划任务执行的过程
cron.funs
cat cron.py
import yourpyfile
import time
def funs():
print "start----------"
print time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
yourpyfile.funs("args1","args2")
五、添加定时任务
进入到manage.py对应的目录
/usr/bin/python manage.py crontab add
我在多次修改添加的任务过程中有这个报错
'Run "python manage.py crontab add" again to resolve this issue!' % job_hash
后来再执行一遍上面的命令就好了
查看加入的任务
/usr/bin/python manage.py crontab show
如不起效,最好重启DJANGO项目
此时在操作系统的层面也会添加一条cron任务
crontab -l可以查看
该行任务后面自动会有类似于这样的注释 # django-cronjobs for dj27test
删除任务
/usr/bin/python manage.py crontab remove