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 中文乱码问题深入分析
Mar 13 Python
日常整理python执行系统命令的常见方法(全)
Oct 22 Python
python executemany的使用及注意事项
Mar 13 Python
详解Python 序列化Serialize 和 反序列化Deserialize
Aug 20 Python
Python 读取图片文件为矩阵和保存矩阵为图片的方法
Apr 27 Python
Django rstful登陆认证并检查session是否过期代码实例
Aug 13 Python
使用 Python 遍历目录树的方法
Feb 29 Python
python+gdal+遥感图像拼接(mosaic)的实例
Mar 10 Python
Python通过yagmail实现发送邮件代码解析
Oct 27 Python
python异步的ASGI与Fast Api实现
Jul 16 Python
Python中异常处理用法
Nov 27 Python
python中的sys模块和os模块
Mar 20 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
暴雪前总裁遗憾:没尽早追赶Dota 取消星际争霸幽灵
2020/03/08 星际争霸
php代码把全角数字转为半角数字
2007/12/10 PHP
php 输出双引号"与单引号'的方法
2010/05/09 PHP
PHP 文本文章分页代码 按标记或长度(不涉及数据库)
2012/06/07 PHP
工厂模式在Zend Framework中应用介绍
2012/07/10 PHP
javascript 函数调用规则
2009/08/26 Javascript
JavaScript面向对象之静态与非静态类
2010/02/03 Javascript
JQuery设置获取下拉菜单某个选项的值(比较全)
2014/08/05 Javascript
JavaScript bold方法入门实例(把指定文字显示为粗体)
2014/10/17 Javascript
js中class的点击事件没有效果的解决方法
2016/10/13 Javascript
Node.js包管理器Yarn的入门介绍与安装
2016/10/17 Javascript
jQuery手指滑动轮播效果
2016/12/22 Javascript
JavaScript实现公历转农历功能示例
2017/02/13 Javascript
jquery DataTable实现前后台动态分页
2017/06/17 jQuery
基于jQuery的表单填充实例
2017/08/22 jQuery
postman+json+springmvc测试批量添加实例
2018/03/31 Javascript
微信小程序连接服务器展示MQTT数据信息的实现
2020/07/14 Javascript
[02:49]DOTA2完美大师赛首日观众采访
2017/11/23 DOTA
Python Paramiko模块的安装与使用详解
2016/11/18 Python
Python3 修改默认环境的方法
2019/02/16 Python
Python中输入和输出(打印)数据实例方法
2019/10/13 Python
基于打开pycharm有带图片md文件卡死问题的解决
2020/04/24 Python
Python爬虫JSON及JSONPath运行原理详解
2020/06/04 Python
美国著名的户外用品品牌:L.L.Bean
2018/01/05 全球购物
澳大利亚最好的厨具店:Kitchen Warehouse
2018/03/13 全球购物
北美领先的智能产品购物网站:Wellbots
2018/06/11 全球购物
商务专员岗位职责
2013/11/23 职场文书
六十岁生日答谢词
2014/01/10 职场文书
班级德育工作实施方案
2014/02/21 职场文书
《她是我的朋友》教学反思
2014/04/26 职场文书
应届大学生求职信
2014/07/20 职场文书
学校创先争优活动总结
2014/08/28 职场文书
医院护士党的群众路线教育实践活动对照检查材料思想汇报
2014/10/04 职场文书
政府班子四风问题整改措施思想汇报
2014/10/08 职场文书
详解thinkphp的Auth类认证
2021/05/28 PHP
JS实现页面炫酷的时钟特效示例
2022/08/14 Javascript