Django配置crontab定时任务

1 在Django 项目中添加定时任务
Django 的crontab的定时任务实现底层依然依赖于Linux系统的crontab任务,通过crontab模块将自己的定时任务写入crontab里,让系统去执行

安装crontab模块 pip install Django-crontab
在setting.py中添加模块和定时任务
INSTALLED_APPS = [‘django_crontab’]
CRONJOBS = [(‘0 */1 * * *’, ‘app_name.file.py.function_name’)]
3. 将定时任务添加到crontab 文件中

     python manage.py crontab add

crontab -e 打开定时任务是否被添加到系统里,如果存在,即添加成功,反之失败,还可以通过
python manage.py crontab show 查看

删除定时任务 python manage.py delete, 也可通过crontab -e在文件中直接删除

好了 ,结束,你以为真的结束了?

将系统中crontab文件中的新家定时任务单拉出来执行,你会发现会有如下错误:

No handlers cloud be found for logger “django_crontab.crontab”
是的没有logger配置,可是代码本身没有用到logger的地方啊,不错,你可以不用,但是这个配置必须有,就是这么任性

好吧,在setting里继续加logger配置。

LOGGING = {
‘version’: 1,
‘disable_existing_loggers’: False,
‘formatters’: {
‘verbose’: {
‘format’: “%(asctime)s %(levelname)s %(message)s”,
‘datefmt’: “%a, %d %b %Y %H:%M:%S”
},
},
‘handlers’: {
‘django_crontab’: {
‘level’: ‘DEBUG’,
‘class’: ‘logging.FileHandler’,
‘filename’: ‘django_crontab.log’,
‘formatter’: ‘verbose’
},
},
‘loggers’: {
‘django_crontab.crontab’: {
‘handlers’: [‘django_crontab’],
‘level’: ‘DEBUG’,
‘propagate’: True,
},

}
}
这些都是默认配置,可以根据自己的需求进行更改

好了,这下是真完了

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值