我正在使用Django 1.8和APScheduler在一定时间间隔内运行工作人员。它与Django的开发服务器(例如./manage.py runserver
)完美配合,但是当我使用UWSGI和master=true
设置项目时,UWSGI工作者无法从Nginx获取任何请求,浏览器显示504 Gateway Timed-out
错误加载1-2分钟后。
当我将其更改为master=false
时,一切都很好。
这是我的UWSGI配置:
[uwsgi]
chdir = /var/www/projectname/backend/projectname
module = projectname.wsgi:application
wsgi-file = /var/www/projectname/backend/projectname/projectname/wsgi.py
uid = root
gid = root
virtualenv = /var/www/venv/
master = false
processes = 4
socket = :8080
logto = /var/www/projectname/log/uwsgi.log
env = DJANGO_SETTINGS_MODULE=projectname.settings
enable-threads = true
请注意我正在使用Django的AppConfig运行一次调度程序。我的UWSGI配置有问题,还是因为Django?
答案 0 :(得分:1)
考虑使用uWSGI mules来完成后台任务。工人处理请求,骡子处理更长时间的东西。