nginx+uwsgi+django部署,apscheduler定时任务不起作用
一个项目需求,需要写一个定时任务,这里使用的是apscheduler,写好后run起来一切正常,开始部署,使用的是nginx+uwsgi+dajngo,但是部署完毕后发现定时任务没有启动,面向百度编程查了很长时间发现了一点问题。在本地是使用的python manage.py runserver,在这里启动是使用的manage.py启动的,默认调用所有。但是部署后,利用uwsgi启动Django项目,是使用wsgi进行启动的,问题就出在这里。
发现这个问题后直接把定时任务放在了wsgi中进行调用,发现还是没有启动,查看日志,出现报错信息
django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not ....
出现此问题,在文件最上部添加一下代码
import os
import django
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'django_range.settings')
django.setup()
注意,四行代码必须放在文件最上部‘
如果还是不起作用,查看uwsgi的配置文件uwsgi.ini
添加配置
enable-threads = true