Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

158
Vistas
evitar que la aplicación Flask obligue al navegador a esperar el proceso en segundo plano

Ejecuto la siguiente aplicación de matraz en el host local. Luego presioné la aplicación en address/place_job/ con una solicitud http. luego voy a mi navegador y busco la dirección/track_site/job/0

Comportamiento esperado: La palabra "foo" aparece inmediatamente.

comportamiento real: el navegador (edge / Chrome) espera / gira hasta que finaliza el hilo, y luego muestra inmediatamente la palabra foo

Pregunta: ¿Por qué ocurre el comportamiento real, en lugar del comportamiento esperado, y cómo lo soluciono? Preferiblemente sin clasificar al apio o similares.

No entiendo por qué sucede esto. Lo que realmente me molesta es que se produce el comportamiento esperado si elimino la línea <script> en el archivo .HTML. Lo he probado con threading.Thread, así como con el ejecutor threadpool del paquete Flass-Executor.

minimal_app.py:

 from flask import Flask, render_template from threading import Thread from time import time app = Flask(__name__) def func(): print("started") start_time = time() while time()-start_time<20: pass print("ended") @app.route('/place_job/') def place_job(): Thread(target=func).start() return "OK" @app.route('/track_site/job/0') def track_job(): return render_template('minimal_template.html')

estático/plantillas/minimal_template.html

 <!DOCTYPE html> <html lang="en"> <body> <h1 id="id1"> Job Page </h1> <script type="text/javascript" src="/static/js/const.js"></script> <p id="id2"> foo </p> </body> </html>

estático/js/const.js

 const x = 0;

editar

A continuación se muestra el registro del matraz después de solicitar /place_job/ y luego navegar a /track_site/job/0:

 127.0.0.1 - - [22/Apr/2022 20:15:04] "GET /place_job HTTP/1.1" 308 - 127.0.0.1 - - [22/Apr/2022 20:15:04] "GET /place_job/ HTTP/1.1" 200 - started 127.0.0.1 - - [22/Apr/2022 20:15:12] "GET /track_site/job/0 HTTP/1.1" 200 - ended 127.0.0.1 - - [22/Apr/2022 20:15:24] "GET /static/js/const.js HTTP/1.1" 304 -
about 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda