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

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值