Django学习笔记-定时器 CRONTAB
一、Introduction
在官网上的说明:
dead simple crontab powered job scheduling for django
英语不好的我只是认为crontab能给django提供一个按照时间进行的作业调度的功能。
二、Backgoround
在做网站的时候,往往需要在某个固定的时间点,或者某个固定的时间间隔自动的触发一个事件,进行一些操作。比如每个月的财务报表在月末的时候会自动生成,然后发一个账单到你的email中。
针对这个需求,我们就要使用crontab实现定时器的功能。
但是在django中实现定时器的工具有好几种,我们使用crontab是因为它比较简单,易于使用。
celery也可以实现这个功能,这里就不讨论了。
但是crontab有个缺点:
就是他不支持在windows使用。不过幸好博主就是在linux上开发的。
三、CRONTAB
话不多说,开始使用crontab吧。
1.安装
pip install django-crontab
2.配置
在setting.py中的INSTALLED_APPS
加入django_crontab
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django_crontab', ]
3.添加定时任务
在app
中的xxx.py
中加入task()
函数
# 某个app/xxx.py def task(): #定时任务 ···
同时要在setting.py中添加这个定时任务
CRONJOBS = [ # 每一分钟执行一次 ('*/1 * * * *', 'app名称.xxx.task') ]
具体参数解释:
前5个(*)星号:
- M(分钟0-59)
- H(小时0-23)
- D(天1-31)
- m(月1-12)
- d(一星期内的天0-6,0为星期天)
特殊符号:
- * 代表所有的取值范围的数字
- / 代表每的意思,*/5就是每5个单位
- - 代表从某个数字到某个数字
- , 分开几个离散的数字
举个列子:
每两个小时 0 /2 * *
晚上11点到早上8点之间每两个小时,早上8点 0 23-7,8 * * *
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点 0 11 4 * 1-3
1月1日早上4点 0 4 1 1 *
4.启动任务
# 将任务添加并生效 python manage.py crontab add # 显示当前的定时任务 python manage.py crontab show # 删除所有定时任务 python manage.py crontab remove # 只运行定时任务试一试 python manage.py crontab run
注意:
当添加一个定时任务后:
得到了一个hash值,所以在进行run
的时候:
python manage.py crontab run 2fc2215151a785c33b28c74ad5feb636
就像git一样
除此之外,要有查看crontab的文件的命令:corntab -e
四、结束
运行这个项目就会定时触发事件,执行你要的代码了。
当然要是仅仅输出一些东西,运行的时候是看不到的。
打印log,传参等等这里就不赘述了。如图
五、参考
https://github.com/kraiz/django-crontab
https://pypi.python.org/pypi/django-crontab

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
阿里安全归零实验室招聘各路大牛!offer好说!
阿里安全归零实验室成立于2017年11月,致力于对黑灰产技术的研究。实验室的愿景是通过技术手段解决当前日益严重的网络违规和网络犯罪问题,为阿里新经济体保驾护航。 实验室与寄生在阿里生态经济体的黑灰产直面技术对抗,以打造一流的以情报驱动的黑灰产情报体系能力,看清黑灰产风险、领先黑灰产、演练风险为愿景,重点研究业务安全和数据安全领域中黑灰产风险事件背后的产业链和手法,解决相关风险问题。以情报外部视角,在多个安全风险领域内均取得了不错的成绩;以蓝军真实黑灰产视角,模拟黑灰产进行演练攻击,检验防线,为阿里巴巴经济体保驾护航贡献了一份独特的力量。 目前团队也在不断的招聘各种优秀人才,研发专家、数据分析专家、情报分析与体系化专家等,欢迎加盟,联系邮箱back2zero@service.alibaba.com 以下为职位信息 安全研发专家 (2人)职位
- 下一篇
iOS 开发资源汇总 肯定有你想要的资源(Continuously updated)
写在文前 为什么还要重复造轮子? 我相信在看到这篇文章之前,大家肯定找到了很多iOS资源收集,自学资源,精品资源,开源项目收集,大牛Blog集合等等。 这类文章实在太多太多了,并且也广泛得到大家的认可。 我自己也非常喜欢在上面查找我想要的。 在这里我想把自己接触iOS这三年以来,所遇到的精品资源加上各个社区用户认可度比较高的资源收集文章都结合起来,作一个相应更加广泛的资源收集整理。 相信一定会有你想要的! 知名度很高的资源收集文章 资源 简介 Awesome-iOS 非常伟大的Awesome出版的iOS资源图书馆,资源广泛目录内容清晰,非常便于查找,github上相对权威的iOS相关知识库,墙裂推荐 开源iOS项目 GitHub上 收录非常多值得学习的开源项目,不局限于Swift,OC编写,学习开源项目查找必备,非常有趣的是编辑采用方式来标记每个项目、代表其在GitHub的相应Star数 iOS常用资料 出自GitHub@天朝码农整理的常用三方库、插件、开发工具、开源项目、知名博客等等 Draveness收集的资料analyze Analyze 关于iOS开源框架源代码解析的文章 翻译...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合Thymeleaf,官方推荐html解决方案