当前位置: 首页 > 后端技术 > Python

使用django-crontab创建定时任务

时间:2023-03-26 15:45:23 Python

1、安装django-crontappipinstalldjango-crontab2,在django项目settings.py中注册INSTALLED_APPS=[......'django_crontab','app_name']【注意]django_crontab一定要在应用名前注册,这里是下划线,不是破折号。3.在settings.py中配置定时任务#定时任务CRONJOBS=[('*/5****','RecomEvalBackend.job.syncMcnData.task'),('*/5****','RecomEvalBackend.job.syncMcnData.task','>>test.log'),('*/5****','RecomEvalBackend.job.syncMcnData.task',['param1','param2'],{'param3':4},'>>test.log')][注意](1)这里的定时任务脚本一定要放在application文件夹下;(2)RecomEvalBackend.job.syncMcnData.task部分写法应该是:应用名.文件夹.文件名.方法名4.django中如何添加任务#在django中添加定时任务pythonmanage.pycrontabadd#Removescheduledtasksfromdjangopythonmanage.pycrontabremove#显示django中添加的定时任务pythonmanage.pycrontabshow#django手动执行一次定时任务pythonmanage.pycrontabrun5.原理原理就是django将定时任务添加到linux定时任务的crond服务中。所以这里要求必须开启crond服务。在服务器查看定时任务命令:crontab-e查看crond服务状态:#查看statusservicecrondstatus#开启serviceservicecrondstart#关闭serviceservicecrondstop#restartserviceservicecrondrestart6、其他注意事项(一)django-crontab不支持windows和mac系统;在windows上执行会报错如下:...File"C:\Users\youngzhang\AppData\Local\Programs\Python\Python36\lib\site-packages\django_crontab\management\commands\crontab.py",第4行,在fromdjango_crontab.crontabimportCrontabFile"C:\Users\youngzhang\AppData\Local\Programs\Python\Python36\lib\site-packages\django_crontab\crontab.py",第3行,在importfcntlModuleNotFoundError:Nomodulenamed'fcntl'中