"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Por que meu Flask Dev Server parece iniciar duas vezes?

Por que meu Flask Dev Server parece iniciar duas vezes?

Publicado em 2025-01-18
Navegar:240

Why Does My Flask Dev Server Appear to Start Twice?

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.

Tutorial mais recente Mais>

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