1、装置django-crontab

pip install django-crontab

2、在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)这里的定时工作脚本,肯定是要放在利用文件夹下的;
(2)RecomEvalBackend.job.syncMcnData.task这部分的写法应为:利用名.文件夹.文件名.办法名

4、如何在django中增加工作

#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>

5、原理

原理是django把定时工作增加到了linux的定时工作crond服务中。所以这里要求crond服务必须是开启的
查看服务器中定时工作命令:

crontab -e

查看crond服务状态:

#查看状态service crond status#开启服务service crond start#敞开服务service crond stop#重启服务service crond restart

6、其余注意事项

(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 fcntlModuleNotFoundError: No module named 'fcntl'