文档章节

django-crontab 定时任务

郭周园
 郭周园
发布于 2017/08/23 10:40
字数 450
阅读 11
收藏 0

Django定时任务

  • django-celery (目前运维平台使用的方式)
  • django-crontab (一些简单的后台需要定时任务如果不用系统的crontab的话,建议使用它,引入使用都是非常简单)

django-crontab安装

  • 安装
pip install django-crontab -i https://pypi.doubanio.com/simple/  
  • django中引入,只需要将django-crontab加入到settings.py的INSTALLED_APPS即可。如下代码:
INSTALLED_APPS = (  'django_crontab',  ...)
  • django-crontab定时运行命令
将命令写在project/app/cron.py中的run_python函数中,multitask(表示一个app),scripts(文件夹)CRONJOBS = [      # 每天6点计算当月的域名的中断时间和中断次数    ('0 6 * * *', 'multitask.scripts.cron.run_python',[],{},'>/tmp/django_crontab.log'),]

django-crontab定时运行函数

  • django-crontab也可以定时运行函数,只是在CRONJOBS配置时有差别。CRONJOBS关于函数的配置如下:
CRONJOBS = (      # 初级模式    ('*/5 * * * *', 'app.cron.my_scheduled_job'),    # 中级模式    ('0   0 1 * *', 'app.cron.my_scheduled_job', '> /tmp/last_scheduled_job.log'),    #高级模式    ('0   0 * * 0', 'django.core.management.call_command', ['dumpdata', 'auth'], {'indent': 4}, '> /tmp/auth_backup.json'),)
  • 分析结果:
    • 初级模式很直观,意思就是每五分钟执行一次myscheduledjob这个程序
    • 中级模式有个后缀,意思是将程序myscheduledjob的结果输出到文件/tmp/lastscheduledjob.log中;
    • 高级模式加入了参数,其中['dumpdata', 'auth']和{'indent': 4}都是参数,只是[]中的参数是按照顺序代入,而{}中的参数指定了变量名称,最后一个也是输出结果的后缀。

django-crontab任务加载

  • django-crontab任务加载比较简单,只需要运行python manage.py crontab add即可。如果你运行crontab -e可以看到crontab中多了一行:
06 * * * /usr/bin/python /data/ops/manage.py crontab run d14277ca319041214070e145d358f835 >/tmp/django_crontab.log # django-cronjobs for cmdb  
  • 这是django-crontab自动生成的。
    • 如果要移除所有的任务,则运行python manage.py crontab remove
    • 当你修改了任务,需要再次运行python manage.py crontab add
    • 查看当前运行中的任务,则运行python manage.py crontab show

© 著作权归作者所有

共有 人打赏支持
郭周园
粉丝 0
博文 35
码字总数 6446
作品 0
成都
后端工程师
Django-celery 安装及使用测试

Celery为Django提供后台执行以及定时执行功能。 一、安装: 1、安装依懒包: tar xvf kombu-3.0.35.tar.gz cd kombu-3.0.35/usr/local/python27/bin/python setup.py install tar xvf billi......

lihuipeng
2016/05/13
0
0
djcelery入门:实现运行定时任务

基于Django与Celery实现异步对列任务 - Python - 伯乐在线 http://python.jobbole.com/81953/ 更新于2015-08-26 注:本文根据官方文档结合具体例子整理,供celery入门学习,更多内容请移步参...

Kinegratii
2014/07/18
0
17
Linux系统crond定时任务

crond定时任务 简述:crond是linux系统的一个守护进程,真正管理crond定时任务的是crontab命令,但是crontab命令依赖于crond服务进程,所以crontab命令和crond两者不能分割,crond定时任务是...

jy1779
07/03
0
0
linux下定时任务

一.linux定时任务软件种类 1.at:适合执行一次的任务。突发性的任务。需要启动atd服务才能执行任务。 2.crontab:周期性的执行任务工作:启动crond服务后可以执行任务。最常用到的任务。 3....

wyg0454
2013/10/17
0
0
定时任务管理 at 和crontab

1 at 先安装at yum install at at now +3 minutes 其他一小时,一天,一年,内同,可以搜,这里就不多少。 atq 查看定时任务 at -d num 删除任务 ctrl + d 退出 2 crontab 在工作中更多的是c...

wzl_up
2016/09/26
19
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

php 使用redis锁限制并发访问类

1.并发访问限制问题 对于一些需要限制同一个用户并发访问的场景,如果用户并发请求多次,而服务器处理没有加锁限制,用户则可以多次请求成功。 例如换领优惠券,如果用户同一时间并发提交换领...

豆花饭烧土豆
7分钟前
0
0
Linux环境搭建 | 手把手教你配置Linux虚拟机

在上一节 「手把你教你安装Linux虚拟机」 里,我们已经安装好了Linux虚拟机,在这一节里,我们将配置安装好的Linux虚拟机,使其达到可以开发的程度。 Ubuntu刚安装完毕之后,还无法进行开发,...

良许Linux
9分钟前
0
0
Nginix开启SSL支持HTTPS访问(自签名方法)

Nginix开启SSL支持HTTPS访问(自签名方法) 超文本传输安全协议(缩写:HTTPS,英语:Hypertext Transfer Protocol Secure)是超文本传输协议和SSL/TLS的组合,用以提供加密通讯及对网络服务器...

openthings
25分钟前
0
0
(三)Nginx配置·续

概述 前文写了关于Nginx环境配置,但是还没有完,接下来将会继续讲三个相关的配置 主要是以下三个 1.Nginx访问日志 2.Nginx日志切割 3.静态文件不记录日志和过期时间 Nginx访问日志 1.先看看...

杉下
今天
1
0
jquery创建类似于java的map

var map = {}; // Map map = new HashMap(); map[key] = value; // map.put(key, value); var value = map[key]; // Object value = map.get(key); var has = key in map; // boolean has = ......

SuperDabai
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部