django-crontab 定时执行任务方法的实现


Posted in Python onSeptember 06, 2019

需求

每天请求一封邮件,并读取该邮件

这个其实可以使用linux 自带了crontab实现,但是毕竟是django 开发。想着不知道有没有方法可以从django 中实现。

简单搜索了下,这方面的方法确实不少。

由于看到celery 插件学习曲线较大,这个小的需求就使用django-crontab 解决。

安装

pip install django-crontab

添加app名称到 settings.py中

INSTALLED_APPS = (
    'django_crontab',
    ...
  )

到这里基本没有问题。

接下来创建定时任务可以分成两种,一种是执行自定义的mange.py的命令,另一种是执行自定义函数。

我选择的方法是自定义函数。

首先在原来的app 中(与view.py同级)新建一个cron.py (名字可以任意,其实也可以放在view.py中,新建文件方便管理。)

def test():
  print 123
  #你要执行的任务函数

在 settings.py中的最后增加

CRONJOBS = [
  ('*/5 * * * *', 'appname.cron.test','>>/home/test.log')
]

如果你有多个定时任务,都放入CORJOBS中即可,

需要说明的是,
‘/5 * * *' 遵循的是crontab 语法。

‘appname.cron.test',这个appname就是你开发时加入到settings中的那个。因为你的cron.py文件就在这个下面,否则找不到路径。cron 就是你自己起的任务文件的名字。test就是执行的函数中的内容。

‘>>/home/test.log',通常会输出信息到一个文件中,就使用这个方法,注意的是‘>>'表示追加写入,'>'表示覆盖写入。

启动

以上都完成后,需要执行

python manage.py crontab add

将任务添加并生效

显示当前的定时任务

python manage.py crontab show

删除所有定时任务

python manage.py crontab remove

重启django服务。

执行

corntab -e

应该是可以看到系统中创建了该定时任务。

说到底,只是django-crontab插件对linux底层的调用,不确定这个方法在windows 上是否生效。

大家可以多做尝试,看下github上的文档,对理解使用还是非常的有帮助。

各种路径一定要确保正确,否则较难排查错误。

介绍依据个人理解,难免疏忽遗漏,如果能帮到大家最好。

参考链接

github : https://github.com/kraiz/django-crontab

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现挑选出来100以内的质数
Mar 24 Python
人工智能最火编程语言 Python大战Java!
Nov 13 Python
python reverse反转部分数组的实例
Dec 13 Python
Python二叉搜索树与双向链表转换算法示例
Mar 02 Python
使用python打印十行杨辉三角过程详解
Jul 10 Python
Django分页功能的实现代码详解
Jul 29 Python
python使用itchat模块给心爱的人每天发天气预报
Nov 25 Python
Python3和PyCharm安装与环境配置【图文教程】
Feb 14 Python
keras读取h5文件load_weights、load代码操作
Jun 12 Python
Selenium及python实现滚动操作多种方法
Jul 21 Python
深入浅析Python代码规范性检测
Jul 31 Python
详解在OpenCV中如何使用图像像素
Mar 03 Python
Python使用matplotlib实现交换式图形显示功能示例
Sep 06 #Python
python自动发微信监控报警
Sep 06 #Python
Python使用Slider组件实现调整曲线参数功能示例
Sep 06 #Python
Python scipy的二维图像卷积运算与图像模糊处理操作示例
Sep 06 #Python
Python数学形态学实例分析
Sep 06 #Python
Python统计分析模块statistics用法示例
Sep 06 #Python
使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件及出现问题解决方法
Sep 06 #Python
You might like
Yii框架获取当前controlle和action对应id的方法
2014/12/03 PHP
Laravel 5框架学习之表单
2015/04/08 PHP
PHP实现转盘抽奖算法分享
2020/04/15 PHP
XMLHTTP 乱码的解决方法(UTF8,GB2312 编码 解码)
2011/01/12 Javascript
JQuery中阻止事件冒泡几种方式及其区别介绍
2014/01/15 Javascript
jQuery中:only-child选择器用法实例
2015/01/03 Javascript
javascript实现网站加入收藏功能
2015/12/16 Javascript
JavaScript代码生成PDF文件的方法
2016/02/26 Javascript
创建基于Bootstrap的下拉菜单的DropDownList的JQuery插件
2016/06/02 Javascript
jQuery实现指定区域外单击关闭指定层的方法【经典】
2016/06/22 Javascript
jQuery插件form-validation-engine正则表达式操作示例
2017/02/09 Javascript
浅谈js中同名函数和同名变量的执行问题
2017/02/12 Javascript
JavaScript 中 apply 、call 的详解
2017/03/21 Javascript
jacascript DOM节点——元素节点、属性节点、文本节点
2017/04/18 Javascript
JS鼠标滚动分页效果示例
2017/07/05 Javascript
vuejs 切换导航条高亮(路由菜单高亮)的方法示例
2018/05/29 Javascript
vue 界面刷新数据被清除 localStorage的使用详解
2018/09/16 Javascript
JavaScript常见事件对象与操作实例总结
2019/01/05 Javascript
微信小程序实现折线图的示例代码
2019/06/07 Javascript
Element Tooltip 文字提示的使用示例
2020/07/26 Javascript
实例讲解Python中的私有属性
2014/08/21 Python
基python实现多线程网页爬虫
2015/09/06 Python
深入浅出学习python装饰器
2017/09/29 Python
Django自带日志 settings.py文件配置方法
2019/08/30 Python
python 图像判断,清晰度(明暗),彩色与黑白实例
2020/06/04 Python
Python+PyQt5+MySQL实现天气管理系统
2020/06/16 Python
python Zmail模块简介与使用示例
2020/12/19 Python
matplotlib交互式数据光标实现(mplcursors)
2021/01/13 Python
巧用 CSS3的webkit-box-reflect 倒影实现各类动效
2021/03/05 HTML / CSS
写好自荐信需做到的5要点
2014/03/07 职场文书
贷款承诺书范文
2014/05/19 职场文书
员工保密承诺书
2014/05/28 职场文书
2014年大学生党员评议表自我评价
2014/09/20 职场文书
镇党政领导班子民主生活会思想汇报
2014/10/11 职场文书
业务员岗位职责范本
2015/04/03 职场文书
2016年端午节寄语
2015/12/04 职场文书