说明
通过uwsgi启动Django项目,导致项目里面的计划任务不能跟随项目的启动自动运行,需要用户通过网页打开项目之后,计划任务才正常执行。
解决方式
原因是使用python manage.py runserver 0.0.0.0:80启动项目是通过manage.py进行驱动的,无论调用放置在哪个视图文件中,都会被调用,而使用uwsgi进行驱动后,不调用manage.py,导致无法启动计划任务。将计划任务的视图文件放置在wsgi.py文件,通过wsgi进行计划任务的调用,则解决了不能自动启动的问题。
备注
from Timer import Timer的调用代码一定要放置在application = get_wsgi_application()代码的下方,否则会导致项目异常,无法访问。
借鉴资料
二〇二〇年四月十五日 10:34:58
评论区