千锋扣丁学堂Python培训之django-crontab 定时执行任务方法实现

2019-09-06 13:18:17 3307浏览

今天千锋扣丁学堂Python培训老师给大家分享一篇关于django-crontab定时执行任务方法的实现详解,文中通过示例代码介绍的非常详细,下面我们一起来看一下吧。



需求

每天请求一封邮件,并读取该邮件

这个其实可以使用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上的文档,对理解使用还是非常的有帮助。

以上就是关于千锋扣丁学堂Python培训之django-crontab 定时执行任务方法实现的全部内容,希望对大家的学习有所帮助,想要了解更多关于Python和人工智能方面内容的小伙伴,请关注扣丁学堂Python培训官网、微信等平台,扣丁学堂IT职业在线学习教育平台为您提供权威的Python开发环境搭建视频,Python培训后的前景无限,行业薪资和未来的发展会越来越好的,扣丁学堂老师精心推出的Python视频教程定能让你快速掌握Python从入门到精通开发实战技能。扣丁学堂Python技术交流群:279521237。


扣丁学堂微信公众号                          Python全栈开发爬虫人工智能机器学习数据分析免费公开课直播间


      【关注微信公众号获取更多学习资料】         【扫码进入Python全栈开发免费公开课】



查看更多关于"Python开发资讯"的相关文章>

标签: Python培训 Python视频教程 Python在线视频 Python学习视频 Python培训班

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号