Tengo una aplicación Flask que envía un flujo de eventos de datos de temperatura al cliente. Dado que la aplicación controla un horno, es importante que el usuario pueda acceder a los controles específicos del trabajo (Detener, Pausa, Reanudar, etc.).
En este momento, el gráfico se actualiza con información proveniente de la fuente del evento, pero cuando trato de cambiar las rutas para controlar el horno, la solicitud se atasca en "Pendiente".
¿Algún consejo?
Código relevante:
comandos.py
def generate_data(self): ... while True: time.sleep(1) temp_data = json.loads(data) temp = temp_data['temp'] json_data = json.dumps({'time': datetime.now(), 'temp': temp}) yield f"data:{json_data}\n\n"vistas.py
... @app.route('/chart_data') def chart_data(): kc = kiln_command.KilnCommand() return Response(kc.generate_data(), mimetype='text/event-stream')mostrar_empleos.html
... <script> ... const context = document.getElementById('canvas').getContext('2d') const lineChart = new Chart(context, config) const source = new EventSource("/chart_data") source.onmessage = function (event) { const data = JSON.parse(event.data); ... </script>