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.
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