"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Por qué parece que mi servidor Flask Dev se inicia dos veces?

¿Por qué parece que mi servidor Flask Dev se inicia dos veces?

Publicado el 2025-01-18
Navegar:191

Why Does My Flask Dev Server Appear to Start Twice?

Por qué Flask Dev Server se ejecuta dos veces durante el desarrollo

Al ejecutar Flask Dev Server, los usuarios pueden notar que la línea de impresión inicial se muestra dos veces. Este comportamiento se debe al uso del recargador de Werkzeug, que crea un proceso secundario para facilitar las actualizaciones cuando cambia el código.

Inicio del recargador

La aplicación Flask se ejecuta con el método app.run(), que utiliza internamente el servidor de desarrollo de Werkzeug. La función restart_with_reloader() inicia un proceso secundario, lo que hace que el script se vuelva a ejecutar con subprocess.call().

Desactivar la recarga automática

Para suprimir la doble impresión , establezca use_reloader en False en app.run(). Alternativamente, use el comando flask run con el indicador --no-reload:

FLASK_DEBUG=1 flask run --no-reload

Detección de recarga

Para determinar si la aplicación se está ejecutando en el proceso secundario de recarga, utilice werkzeug.serving.is_running_from_reloader function.

Alternativa para módulos globales

Si es necesario configurar módulos globales, use el decorador @app.before_first_request para crear una función que se ejecutará solo una vez después de cada recarga, a la primera solicitud. Sin embargo, tenga en cuenta que este enfoque puede generar múltiples invocaciones en servidores WSGI que utilizan múltiples procesos.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3