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的lambda匿名函数的简单介绍
Apr 25 Python
Python字符串处理函数简明总结
Apr 13 Python
python sys.argv[]用法实例详解
May 25 Python
python pandas库中DataFrame对行和列的操作实例讲解
Jun 09 Python
Sanic框架Cookies操作示例
Jul 17 Python
python3.7.0的安装步骤
Aug 27 Python
解决springboot yml配置 logging.level 报错问题
Feb 21 Python
Python列表切片常用操作实例解析
Mar 10 Python
python 6.7 编写printTable()函数表格打印(完整代码)
Mar 25 Python
python+adb命令实现自动刷视频脚本案例
Apr 23 Python
opencv 图像滤波(均值,方框,高斯,中值)
Jul 08 Python
Python Map 函数的使用
Aug 28 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
php写的简易聊天室代码
2011/06/04 PHP
调整优化您的LAMP应用程序的5种简单方法
2011/06/26 PHP
windows的文件系统机制引发的PHP路径爆破问题分析
2014/07/28 PHP
PHP的switch判断语句的“高级”用法详解
2014/10/01 PHP
php操作(删除,提取,增加)zip文件方法详解
2015/03/12 PHP
jquery 经典动画菜单效果代码
2010/01/26 Javascript
JSON字符串和对象之间的转换详解
2015/05/26 Javascript
JS/Jquery判断对象为空的方法
2015/06/11 Javascript
js jquery获取当前元素的兄弟级 上一个 下一个元素
2015/09/01 Javascript
JS调用打印机功能简单示例
2016/11/28 Javascript
ES6新特性二:Iterator(遍历器)和for-of循环详解
2017/04/20 Javascript
vue2.0+vue-dplayer实现hls播放的示例
2018/03/02 Javascript
Vue CLI 3.x 自动部署项目至服务器的方法
2019/04/02 Javascript
JS中注入eval, Function等系统函数截获动态代码
2019/04/03 Javascript
微信小程序 腾讯地图SDK 获取当前地址实现解析
2019/08/12 Javascript
React-redux实现小案例(todolist)的过程
2019/09/29 Javascript
vue v-for直接循环数字实例
2019/11/07 Javascript
[01:01:42]Secret vs Optic Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
Python使用代理抓取网站图片(多线程)
2014/03/14 Python
Python实现遍历目录的方法【测试可用】
2017/03/22 Python
利用python微信库itchat实现微信自动回复功能
2017/05/18 Python
python如何在循环引用中管理内存
2018/03/20 Python
python生成1行四列全2矩阵的方法
2018/08/04 Python
python实现桌面壁纸切换功能
2019/01/21 Python
Python 获取指定文件夹下的目录和文件的实现
2019/08/30 Python
python 实现矩阵按对角线打印
2019/11/29 Python
Python 改变数组类型为uint8的实现
2020/04/09 Python
python统计mysql数据量变化并调用接口告警的示例代码
2020/09/21 Python
九月份红领巾广播稿
2014/01/22 职场文书
《母鸡》教学反思
2014/02/25 职场文书
大班亲子运动会方案
2014/06/10 职场文书
学生夜不归宿检讨书
2014/09/23 职场文书
大四学生个人总结
2015/02/15 职场文书
企业爱心捐款倡议书
2015/04/27 职场文书
升学宴家长答谢词
2015/09/29 职场文书
Python anaconda安装库命令详解
2021/10/16 Python