pip install django-crontab
INSTALLED_APPS = [ ...... 'django_crontab', 'app_name' ]
【注意】django_crontab必定要注册在应用名以前,在这里是下划线,不是短横。python
# 定时任务 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)这里的定时任务脚本,必定是要放在应用文件夹下的;
(2)RecomEvalBackend.job.syncMcnData.task这部分的写法应为:应用名.文件夹.文件名.方法名linux
#django中添加定时任务 python manage.py crontab add #django中移出定时任务 python manage.py crontab remove #django中展现已添加的定时任务 python manage.py crontab show #django中单次手动执行定时任务 python manage.py crontab run <tash_hash_id>
原理是django把定时任务添加到了linux的定时任务crond服务中。因此这里要求crond服务必须是开启的。
查看服务器中定时任务命令:django
crontab -e
查看crond服务状态:windows
#查看状态 service crond status #开启服务 service crond start #关闭服务 service crond stop #重启服务 service crond restart
(1)django-crontab不支持windows和mac系统;在windows上执行会报错,以下:服务器
... File "C:\Users\youngzhang\AppData\Local\Programs\Python\Python36\lib\site-packages\django_crontab\management\commands\crontab.py", line 4, in <module> from django_crontab.crontab import Crontab File "C:\Users\youngzhang\AppData\Local\Programs\Python\Python36\lib\site-packages\django_crontab\crontab.py", line 3, in <module> import fcntl ModuleNotFoundError: No module named 'fcntl'