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中操作字典之update()方法的使用
May 22 Python
Python中关于使用模块的基础知识
May 24 Python
Python安装官方whl包和tar.gz包的方法(推荐)
Jun 04 Python
python中的常量和变量代码详解
Jul 25 Python
python 使用正则表达式按照多个空格分割字符的实例
Dec 20 Python
详解Python数据可视化编程 - 词云生成并保存(jieba+WordCloud)
Mar 26 Python
python实现向微信用户发送每日一句 python实现微信聊天机器人
Mar 27 Python
django的auth认证,authenticate和装饰器功能详解
Jul 25 Python
python读取当前目录下的CSV文件数据
Mar 11 Python
Python基于正则表达式实现计算器功能
Jul 13 Python
基于python实现图片转字符画代码实例
Sep 04 Python
Python实现学生管理系统(面向对象版)
Jun 24 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
一个显示某段时间内每个月的方法 返回由这些月份组成的数组
2012/05/16 PHP
PHP函数getenv简介和使用实例
2014/05/12 PHP
Android App中DrawerLayout抽屉效果的菜单编写实例
2016/03/21 PHP
php $_SESSION会员登录实例分享
2021/01/19 PHP
PHP使用PHPExcel实现批量上传到数据库的方法
2017/06/08 PHP
PHP实现动态创建XML文档的方法
2018/03/30 PHP
jValidate 基于jQuery的表单验证插件
2009/12/12 Javascript
JQuery中基础过滤选择器用法实例分析
2015/05/18 Javascript
javascript表格的渲染组件
2015/07/03 Javascript
基于JavaScript代码实现随机漂浮图片广告
2016/01/05 Javascript
Bootstrap学习笔记之css组件(3)
2016/06/07 Javascript
JS函数节流和函数防抖问题分析
2017/12/18 Javascript
微信小程序局部刷新触发整页刷新效果的实现代码
2018/11/21 Javascript
VueCli3.0中集成MockApi的方法示例
2019/07/05 Javascript
es6中reduce的基本使用方法
2019/09/10 Javascript
使用axios请求接口,几种content-type的区别详解
2019/10/29 Javascript
javascript实现fetch请求返回的统一拦截
2019/12/22 Javascript
Javascript表单序列化原理及实现代码详解
2020/10/30 Javascript
基于JavaScript实现简单的轮播图
2021/03/03 Javascript
[52:07]完美世界DOTA2联赛PWL S3 LBZS vs access 第二场 12.10
2020/12/13 DOTA
小小聊天室Python代码实现
2016/08/17 Python
Python探索之静态方法和类方法的区别详解
2017/10/27 Python
Python实现html转换为pdf报告(生成pdf报告)功能示例
2019/05/04 Python
利用python对mysql表做全局模糊搜索并分页实例
2020/07/12 Python
全球立体声:World Wide Stereo
2018/09/29 全球购物
StubHub中国:购买和出售全球活动门票
2020/01/01 全球购物
巴西24小时在线药房:Drogasil
2020/06/20 全球购物
C++:局部变量能否和全局变量重名
2014/03/03 面试题
小学清明节活动方案
2014/03/08 职场文书
幼儿园父亲节活动方案
2014/03/11 职场文书
小学标准化建设汇报材料
2014/08/16 职场文书
大学生自荐材料范文
2014/12/30 职场文书
三孔导游词
2015/02/05 职场文书
2015高考寄语集锦
2015/02/27 职场文书
世界上超棒的8种逻辑思维
2019/08/06 职场文书
爱国之歌(8首)
2019/09/29 职场文书