首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用 django-crontab为Django 添加定时任务

需求

做后台开发的时候,有时候会遇到这样的需求,在某个固定时间或者一定时间间隔自动触发某一事件。比如说我有一个需求要求是,周一到周五早上九点发送邮件。

使用安装第三方包 django-crontab

pipinstalldjango-crontab

配置第三方包

# 配置文件 settings.py

INSTALLED_APPS= (

'django_crontab',

...

)

定义任务

# 子应用下某个 py 文件里添加任务函数

# mail/send_mail.py

deftask_send_mail():

pass

配置任务

# 配置文件 settings.py

CRONJOBS= [

('0 9 * * 1-5','mail.send_mail.task_send_mail')

]

对任务的操作命令 添加并启动任务 查看任务 删除任务

pythonmanage.pycrontabadd

pythonmanage.pycrontabshow

pythonmanage.pycrontabremove

补充配置任务的五个 * * * * *

前5个(*)星号

M(分钟0-59)

H(小时0-23)

D(天1-31)

m(月1-12)

d(一星期0-6,为星期天)

特殊符号

*代表所有的取值范围的数字

/代表每的意思,*/5就是每5个单位

-代表从某个数字到某个数字

,分开几个离散的数字

eg:

14**1-5周一到周五每天下午两点触发任务

10**,6周六、周天早上十点触发任务

*/59-10**1-5周一到周五九点到十点每五分钟触发任务

打印 log

# 将在任务函数中 print 的内容打印到你指定的文件中

('0 9 * * 1-5','mail.send_mail.task_send_mail','> send_mail.txt')

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190212G115VD00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券