Eu concordo com você que os documentos da Uwsgi são muito bons.
Agora:
1) Isso significa que o servidor uwsgi irá desligar / reiniciar / recarregar seu processo mestre e seus trabalhadores enviando-lhes um sinal 'SIGHUP', permitindo que os processos respondam a esse sinal: "esvazie os buffers, feche todas as conexões estabelecidas / sockets, etc "(--reload) opção
2) Alternativa para 'graciosamente' seria desligar / recarregar o aplicativo uwsgi como você disse 'sujo'. Significa enviar um processo mestre e o sinal SIGTERM de seus trabalhadores, portanto, recarregar brutalmente todos os trabalhadores e o processo mestre (--die-on-term). Existe também '--stop' que é o SIGINT que realmente mata toda a sua pilha uWsgi, que também é 'o comportamento de Ctl + C da interrupção do teclado'
3) Você pode brincar com os processos com essas opções e desligá-los de forma elegante ou brutal, mas os comportamentos são bem conhecidos, desligando qualquer aplicativo brutalmente / falhas não ressoam bem, não permitindo que as operações de disco / i terminem , conteúdos de conteúdo em cache, estados perdidos, etc.
4) Sim, às vezes você não quer o processo mestre do uwsgi: De docs:
"Como parte dos recursos de gerenciamento de processos da uWSGI, é possível habilitar um processo mestre para gerenciar melhor os processos de trabalho. Quando isso é ativado, o arquivo ou módulo de script WSGI será pré-carregado no processo mestre pai. Os processos de trabalho serão bifurcados este processo mestre. Isso pode causar problemas se o script ou módulo WSGI quando carregado criar um encadeamento de plano de fundo que deve ser executado em cada processo de trabalho, pois esse encadeamento de plano de fundo será eliminado quando o processo de trabalho for bifurcado. "
Espero que isso responda à sua pergunta.