Por lo tanto, estoy tratando de enviar datos desde el matraz para reaccionar cada hora, por ejemplo, dado que se trata de un elemento de inserción del servidor, decidí ir con la transmisión de flujo de eventos desde el backend. El servidor está presionando como debería, pero en el lado de React siempre recibo un error
Este es el código de fondo:
@app.route("/stream/<int:uid>", methods=["POST", "GET"]) def stream(uid): # if not uid: # # todo not implemented # # 503 - Service Unavailable - server is not ready to handle the req # return {"msg": "UID not provided"}, 503 def eventStream(): print(f"connected uid: {uid}") while True: if config.updated_flag == 1: data = Investment.get_all_by_user_id(uid) print(f"yielding new data now | time: {datetime.now()}") config.updated_flag = 0 yield f"data: {data}\n\n" return Response(eventStream(), mimetype='application/event-stream')Esta es la interfaz donde estoy aceptando eventStream:
useEffect(() => { const sse = new EventSource(`${serverBaseURL}/stream/${props.userId}`, ); sse.onmessage = e => { console.log(e.data) } sse.onerror = (err) => { // error log here console.log("error"); console.log(err) sse.close(); } return () => { sse.close(); }; }, []);En el primer impulso que hace el servidor, este es el error que recibo:
Después de este error, el servidor sigue generando datos, pero no sucede nada en el cliente