djano使用Django-crontable来实现定时任务

安装

pip install django-crontab

使用场景

定时去执行某些操作

使用

在settings.INSTALLED_APPS中添加应用:

INSTALLED_APPS = [    
  'django_crontab', # 定时任务
]

定时任务crontab的时间设置格式

*    *    *    *    *
分   时   天    月   周

示例:

  • 每1分钟执行一次myCommand

* /1* * * * myCommand

  • 每小时的第3和第15分钟执行

3,15 * * * * myCommand

  • 在上午8点到11点的第3和第15分钟执行

3,15 8-11 * * * myCommand

  • 每隔两天的上午8点到11点的第3和第15分钟执行

3,15 8-11 */2 * * myCommand

  • 每周一上午8点到11点的第3和第15分钟执行

3,15 8-11 * * 1 myCommand

设置定时任务

在settings中添加CRONJOBS,设置定时任务。

  • 以下示例定时任务为:apps下–contents应用内–generate_static_index_html方法;
  • 定时时间为:每隔一分钟运行一次;
  • ">>"符:拼接定时任务运行结果保存路径
CRONJOBS = [
    # 每1分钟生成一次, 定时任务的函数, 定时任务的日志地址(可以不写)
    ('*/1 * * * *', 'contents.crons.generate_static_index_html', '>> ' + os.path.join(os.path.dirname(BASE_DIR), 'logs/crontab.log')),
  
]

设置中文支持

在定时任务中,如果出现非英文字符,会出现字符异常错误

  • 在settings中添加:
CRONTAB_COMMAND_PREFIX = 'LANG_ALL=zh_cn.UTF-8'
管理定时任务
  • 添加定时任务到系统中,启动定时任务必须先执行改语句。

$ python manage.py crontab add

  • 显示已激活的定时任务

$ python manage.py crontab show

  • 移除定时任务

$ python manage.py crontab remove

注意:

​ 当改变定时任务的时候,删除定时任务然后重新的添加上。

运行和django无关,依赖的是linux的crontab定时服务,因此无法在windowns下运行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值