django-crontab 定时执行任务 遇到的错误_django-crontab 系统找不到指定的路径-程序员宅基地

技术标签: 记录  

安装 

 

pip install django-crontab

 

 

添加app名称到 settings.py中

INSTALLED_APPS = (
        'django_crontab',#这个不是app的名字,必须要添加到前面,不能接着app后面添加,否则会报错
        ...
    )

到这里基本没有问题。 
接下来创建定时任务可以分成两种,一种是执行自定义的mange.py的命令,另一种是执行自定义函数。

我选择的方法是自定义函数。

首先在原来的app 中(与view.py同级)新建一个cron.py (名字可以任意,其实也可以放在view.py中,新建文件方便管理。)

def test():
    print 123
    #你要执行的任务函数
  • 1
  • 2
  • 3

在 settings.py中的最后增加

CRONJOBS = [
    ('*/5 * * * *', 'appname.cron.test','>>/home/test.log')
]
  • 1
  • 2
  • 3

如果你有多个定时任务,都放入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上的文档,对理解使用还是非常的有帮助。

各种路径一定要确保正确,否则较难排查错误。

错误一

 

 

 

1、django.core.exceptions.ImproperlyConfigured: Requested setting EMAIL_BACKEND, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

 

 

 

解决办法:

 

import os,django

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "XXXX.settings")# project_name 项目名称 要并写正确
django.setup()

错误二

 

2、ModuleNotFoundError: No module named 'XXX' 解决方法

 

 

解决办法:

 

看错误1 检查xxx.settings 拼写 或路径是否正确!

3、No job with hash 2be49f0a34207a4b9fd6fb0d3df2d78e found. It seems the crontab is out of sync with your settings.CRONJOBS. Run "python manage.py crontab add" again to resolve this issue! 解决办法

重新启动项目,在执行对crontab 的操作

 

#错误三

单独用.py文件处理业务时,需要把调用的模块放到方法中不然会报错

 

参考资料:https://blog.csdn.net/sinat_21302587/article/details/72831002

参考资料

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_28218253/article/details/80580550

智能推荐

ECharts画分类甘特图_echarts 甘特图分层级-程序员宅基地

文章浏览阅读2.1k次。项目最近做任务排产,需要绘画甘特图,并且每两份一组,做了一个JQuery快速做了POC,实现了大部分功能,后来持续开发,做到了划定当前时间,任务多了后固定左侧列和顶部坐标轴行等等。分享博客的话就简单的分享一下做的POC吧。实现的初步效果如下分析:左侧的轴样式美观程度比较高,且需要分组,分类,我初次尝试echarts分组,样式自定义程度不好,距离还得xy算偏移量左侧使用css 右侧使用echarts,则会出现图表和css自定义的样式行对不上等等,分类随时还需要空一行每个不同的生产内容颜色区块._echarts 甘特图分层级

中小企业业财融合策略(2):财务赋能,如何支持业务经营?_业务经营支持与赋能-程序员宅基地

文章浏览阅读231次。前文我们谈到了,企业业务流程的规范性,决定了企业经营相关信息、数据获取的准确性和及时性,很多时候,财务人员对流程的规范性、完整性感知更深刻,因此企业的业务流程建设,应该要让财务参与进来,一方面:财务可以从信息流、资金流、物流协同,及企业成本和收入的角度对流程进行审视。财务由被动转为主动,并不能仅仅是财务的主观愿望,而应该是公司管理的主动安排,例如:规定每个期间财务部要对公司的运营部门做《评价报告》,该报告直接交给总经理,报告内容,侧重在过程指标的展示说明,这也是体现财务分析能力的关键!_业务经营支持与赋能

安装Ubuntu 出现ubi partman crashed,ubi-partman failed with exit code 10-程序员宅基地

文章浏览阅读6.5k次。出现这个问题好像是因为硬盘中有遗留的raid信息导致。在安装选项中添加 nodmraid参数,再启动进行安装就好了如果不会添加参数可以参考这篇文章:安装ubuntu时黑屏三种解决办法就和添加 nomodeset参数一样转载于:https://www.cnblogs.com/xiyu714/p/10125984.html..._ubi-partman crashed

Linux下找不到IFCONFIG命令_linux系统ifconfig找不到?-程序员宅基地

文章浏览阅读2.3w次。# ifconfig  提示命令不存在  使用 # /sbin/ifconfig 即可  原因: 系统默认的环境变量设置不对  在 普通用户 和root用户下分别执行echo $PATH,PATH里少了四个地址:/sbin:/usr/sbin:/usr/local/sbin:/usr/kerberos/sbin  而,ifconfig恰恰就在/sbin里面。_linux系统ifconfig找不到?

在APK中获取鸿蒙应用Ability信息_getbundleinfo-程序员宅基地

文章浏览阅读4.2k次。Android开发工具箱大概在版本2.2.0(2021-06-10)就已经支持查看鸿蒙系统信息以及鸿蒙应用信息了。这里我讲一下Android开发工具箱是如何在Android应用中(APK)获取鸿蒙应用Ability信息(类似于Android应用的四大组件信息)Android开发工具箱可在应用宝、酷安下载,微信公众号:Android开发工具箱https://www.coolapk.com/apk/com.su.assistant.proAndroid中,我们获取应用列表之后,再获取应用的P_getbundleinfo

QT QModbus Rtu Serial Master 分包_qt头文件没有qmodbus-程序员宅基地

文章浏览阅读225次。使用单独线程控制modbus收发数据,信号槽交互UI和线程间的数据,信号槽自定义结构体发送,废话不多说,上代码。//如下自定义结构体,方便信号槽发送。欢迎加入QQ群538536725灌水。//最后是qt pro配置文件。//如下主UI头文件。_qt头文件没有qmodbus

随便推点

基于MALAB的B样条曲线逼近算法(抗噪声、误差可控、支持开/闭合)-程序员宅基地

文章浏览阅读426次,点赞12次,收藏5次。给定一组有序的数据点(存在很多噪声),求解一条B样条曲线逼近于该组数据点,每个数据点到曲线的最短距离小于设定的容差TOL相比于传统的三次样条逼近算法,本算法1. 能处理带噪声的数据集,曲线更加光滑2. 所需的控制点更少

query多选下拉框插件 jquery-multiselect-程序员宅基地

文章浏览阅读106次。效果:http://www.erichynds.com/examples/jquery-ui-multiselect-widget/demos/特性支持点击label实现checkbox组选择.头部选项,如全选/ 取消全选 /关闭功能.支持键盘选择.支持5种不同的事件回调函数.以列表方式显示选中项目,并且可以设置最大显示值.方便改变位置,渐变速度,滚动..._multiselect 多级 多选插件 checkbox

Lombok简介、使用、工作原理、优缺点_lombok的优缺点-程序员宅基地

文章浏览阅读1.4k次。一、Lombok简介官方介绍Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your_lombok的优缺点

前端进阶之路-程序员宅基地

文章浏览阅读204次。前端进阶之路思维导图地址https://zh.javascript.info/红宝书:JavaScript高级程序设计绿宝书:JavaScript语言精髓与编程实践黄宝书:你不知道的JavaScript(上/中)蓝宝书:JavaScript设计模式与开发实践react工程师修炼指南JS DOM编程艺术(第2版):看红宝书的前置书,因为比较简单min-vue源码didact源码算法第四版http权威指南迷你书籍: DOM启蒙Ja

Java中解决乐观锁中ABA经典问题_java 锁 aba-程序员宅基地

文章浏览阅读397次。packagecom.yellow.cas;importjava.util.concurrent.TimeUnit;importjava.util.concurrent.atomic.AtomicInteger;importjava.util.concurrent.atomic.AtomicStampedReference;public classABATest3 { publi..._java 锁 aba

Leetcode300题总结-程序员宅基地

文章浏览阅读520次。leetcode300题总结一下