django项目添加计划任务定时执行

一、环境

CentOS Linux release 7.3.1611 (Core) 必须是LINUX的操作系统

Python 2.7.5

django 1.9.9

 

二、安装 django-crontab模块

可从此链接下载再安装

https://files.pythonhosted.org/packages/37/bd/a122ba96167f5dfab70a58ca22fa046b7ef1ebad9ff026f7831bd6c2a49c/django-crontab-0.7.1.tar.gz

安装过程略

 

三、修改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

 

 

 

 

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页