Django ORM框架的定时任务如何使用详解


Posted in Python onOctober 19, 2017

前言

大家在Django项目开发过程中,是不是也经常遇到这样的场景:需要实现一个定时任务,但又不想脱离Django环境独立运行,如:还需要使用Django的ORM框架操作Models类、日志框架、复用已有配置/方法等等。

大部分同学,初次接触时首先想到的就是使用第三方插件,如:django-celery,django-crontab等等,我也不例外,但实际使用过程,总有诸多不爽,要么感觉大材小用,要么功能支持不完整,要么使用很繁琐。。。

多次尝试摸索后,发现Django已经帮我们实现了该功能,使用起来也是非常的方便易用。那就是利用django-admin自定义命令,使用它,就可以使用ORM框架对model进行操作,如:定时更新数据库,检测数据库状态….. 然后将自定义命令加入到crontab任务列表中即可。

使用方法:

Django为项目中每一个应用下的management/commands目录中名字没有以下划线开始的Python模块都注册了一个manage.py命令,例如:

Django ORM框架的定时任务如何使用详解

_private.py将不可以作为一个管理命令使用。

closepoll.py模块只有一个要求 ? 它必须定义一个Command类并扩展自Basecommand或其子类

Django ORM框架的定时任务如何使用详解

新的自定义命令可以使用python manage.py closepoll 调用。

这样,就可以将新的自定义命令加入到Linux crontab任务列表里实现定时任务的目的了。

总结:

用自定义新命令来实现定时任务,实际开发过程非常简单,但这个思路确实有让我眼前一亮,豁然开朗。到达成功的方法多种多样,只有想不到,没有做不到。能找到最方便,最易用,最能提高效率的方法才是提升开发效率的根本。

好了,以上就是这篇文章的全部内容了,本文还有许多不足,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
Python中.py文件打包成exe可执行文件详解
Mar 22 Python
CentOS 6.5下安装Python 3.5.2(与Python2并存)
Jun 05 Python
python简单商城购物车实例代码
Mar 15 Python
Python3正则匹配re.split,re.finditer及re.findall函数用法详解
Jun 11 Python
Python基于最小二乘法实现曲线拟合示例
Jun 14 Python
python矩阵/字典实现最短路径算法
Jan 17 Python
PyTorch加载预训练模型实例(pretrained)
Jan 17 Python
对pytorch的函数中的group参数的作用介绍
Feb 18 Python
Django中日期时间型字段进行年月日时分秒分组统计
Nov 27 Python
python爬虫中的url下载器用法详解
Nov 30 Python
K近邻法(KNN)相关知识总结以及如何用python实现
Jan 28 Python
Python万能模板案例之matplotlib绘制直方图的基本配置
Apr 13 Python
Python 2.x如何设置命令执行的超时时间实例
Oct 19 #Python
详解使用 pyenv 管理多个版本 python 环境
Oct 19 #Python
python3使用pyqt5制作一个超简单浏览器的实例
Oct 19 #Python
PyQt5利用QPainter绘制各种图形的实例
Oct 19 #Python
python连接数据库的方法
Oct 19 #Python
Python3使用PyQt5制作简单的画板/手写板实例
Oct 19 #Python
python里使用正则的findall函数的实例详解
Oct 19 #Python
You might like
PHP根据IP地址获取所在城市具体实现
2013/11/27 PHP
thinkphp实现图片上传功能分享
2014/03/04 PHP
PHP中常用的字符串格式化函数总结
2014/11/19 PHP
PHP使用xmllint命令处理xml与html的方法
2014/12/15 PHP
PHP实现远程下载文件到本地
2015/05/17 PHP
Joomla语言翻译类Jtext用法分析
2016/05/05 PHP
php自动载入类用法实例分析
2016/06/24 PHP
PHPCMS V9 添加二级导航的思路详解
2016/10/20 PHP
学习js在线html(富文本,所见即所得)编辑器
2012/12/18 Javascript
Jquery实现列表(隔行换色,全选,鼠标滑过当前行)效果实例
2013/06/09 Javascript
javaScript 动态访问JSon元素示例代码
2013/08/30 Javascript
js获取select选中的option的text示例代码
2013/12/19 Javascript
jQuery提示插件alertify使用指南
2015/04/21 Javascript
基于JavaScript实现通用tab选项卡(通用性强)
2016/01/07 Javascript
玩转NODE.JS(四)-搭建简单的聊天室的代码
2016/11/11 Javascript
vuejs2.0实现一个简单的分页示例
2017/02/22 Javascript
JavaScript如何一次性展示几万条数据
2017/03/30 Javascript
vantUI 获得piker选中值的自定义ID操作
2020/11/04 Javascript
python 参数列表中的self 显式不等于冗余
2008/12/01 Python
python使用Image处理图片常用技巧分析
2015/06/01 Python
Django开发的简易留言板案例详解
2018/12/04 Python
详解python 模拟豆瓣登录(豆瓣6.0)
2019/04/18 Python
python实现二分类的卡方分箱示例
2019/11/22 Python
深入了解如何基于Python读写Kafka
2019/12/31 Python
解决torch.autograd.backward中的参数问题
2020/01/07 Python
pycharm开发一个简单界面和通用mvc模板(操作方法图解)
2020/05/27 Python
python ETL工具 pyetl
2020/06/07 Python
草莓网化妆品日本站:Strawberrynet日本
2017/10/20 全球购物
节约用水演讲稿
2014/05/21 职场文书
工地标语大全
2014/06/18 职场文书
医学专业大学生求职信
2014/07/12 职场文书
民政局离婚协议书范本
2014/10/20 职场文书
优秀员工事迹材料
2014/12/20 职场文书
大学生读书笔记大全
2015/07/01 职场文书
如何使用php生成zip压缩包
2021/04/21 PHP
动画《平凡职业成就世界最强》宣布制作OVA
2022/04/01 日漫