Por que o Flask Dev Server é executado duas vezes durante o desenvolvimento
Ao executar o Flask dev server, os usuários podem notar a linha de impressão inicial sendo exibida duas vezes. Esse comportamento decorre do uso do recarregador de Werkzeug, que cria um processo filho para facilitar as atualizações quando o código é alterado.
Iniciação do recarregador
O aplicativo Flask é executado com o método app.run(), que utiliza internamente o servidor de desenvolvimento do Werkzeug. A função restart_with_reloader() inicia um processo filho, fazendo com que o script seja executado novamente com subprocess.call().
Desabilite o recarregamento automático
Para suprimir a impressão dupla , defina use_reloader como False em app.run(). Como alternativa, use o comando flask run com o sinalizador --no-reload:
FLASK_DEBUG=1 flask run --no-reload
Detecção de recarga
Para verificar se o aplicativo está sendo executado no processo filho de recarga, use o werkzeug.serving.is_running_from_reloader function.
Alternativa para módulos globais
Se os módulos globais precisarem ser configurados, use o decorador @app.before_first_request para criar uma função que será executada apenas uma vez após cada recarga, na primeira solicitação. No entanto, observe que esta abordagem pode levar a múltiplas invocações em servidores WSGI utilizando múltiplos processos.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3