Estou executando um site django usando o uWSGI no modo imperador. Descobri que, ao tocar no arquivo uwsgi.ini para um aplicativo específico, o processo imperador recarrega esse vassalo (de acordo com o arquivo de log) que uma recarga não é suficiente para pegar as alterações. Especificamente, muda para o arquivo .env usado para configurar o site do django.
Se eu mover o arquivo uwsgi.ini específico do aplicativo para fora da pasta vassals e voltar, ele funcionará. Presumivelmente porque o processo imperador mata os vassalos quando o arquivo .ini está faltando e os reinicia quando o arquivo reaparece. Também reiniciando o imperador uwsgi usando systemd funciona também.
Eu prefiro não reiniciar o processo imperador e o processo de mover o arquivo ini parece horrível.
Qual é o caminho certo para reiniciar o site único do Django atrás do imperador e ainda assim pegar as mudanças nas configurações do site?
/etc/uwsgi/emperor.ini
[uwsgi]
emperor = /etc/uwsgi/vassals
uid = www-data
gid = www-data
limit-as = 1024
logto = /tmp/uwsgi.log
/etc/uwsgi/vassals/demo-app.ini
[uwsgi]
chdir=/home/demo-app/demo-app
virtualenv=/home/demo-app/.venv
module=demo_app.wsgi
master = true
processes = 2
socket = 127.0.0.1:1111
chmod-socket = 664
vacuum = true