Я использую Django 1.8 и APScheduler для запуска рабочих с определенными интервалами. Он отлично работает с сервером разработки Django (например, ./manage.py runserver
), но когда я настраиваю проект с помощью UWSGI и master=true
, рабочий UWSGI не может получать запросы от Nginx, а браузер показывает 504 Gateway Timed-out
после 1-2 минут загрузки.APScheduler не работает с UWSGI
Когда я меняю его на 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
Пожалуйста, обратите внимание, что я использую AppConfig Джанго для запуска планировщика один раз. Есть ли проблемы с моей конфигурацией UWSGI или из-за Django?
Не могли бы вы дать мне ссылку/документ, чтобы узнать больше? –
Уверен: http://uwsgi-docs.readthedocs.org/ru/latest/Mules.html –
Идея мула - долгое время, независимо от рабочих. Вы можете запускать планировщики внутри мулов. –