mgbam commited on
Commit
e446a42
·
verified ·
1 Parent(s): b159555

Update app/app.py

Browse files
Files changed (1) hide show
  1. app/app.py +11 -4
app/app.py CHANGED
@@ -47,6 +47,7 @@ async def lifespan(app: FastAPI):
47
  # Create separate queues for the two real-time feeds
48
  app.state.sentiment_queue: asyncio.Queue = asyncio.Queue()
49
  app.state.news_queue: asyncio.Queue = asyncio.Queue()
 
50
 
51
  # Create cancellable background tasks for periodic updates.
52
  price_task = asyncio.create_task(
@@ -173,8 +174,11 @@ async def sentiment_stream(request: Request):
173
  while True:
174
  payload = await queue.get()
175
  html = render_analysis_card(payload)
176
- # Use a custom event name for the HTMX listener
177
- yield f"event: sentiment_update\ndata: {html.replace('\n', '')}\n\n"
 
 
 
178
  return StreamingResponse(event_generator(), media_type="text/event-stream")
179
 
180
  @app.get("/api/news/stream")
@@ -185,6 +189,9 @@ async def news_stream(request: Request):
185
  while True:
186
  payload = await queue.get()
187
  html = render_analysis_card(payload, is_news=True)
188
- # Use a different custom event name
189
- yield f"event: news_update\ndata: {html.replace('\n', '')}\n\n"
 
 
 
190
  return StreamingResponse(event_generator(), media_type="text/event-stream")
 
47
  # Create separate queues for the two real-time feeds
48
  app.state.sentiment_queue: asyncio.Queue = asyncio.Queue()
49
  app.state.news_queue: asyncio.Queue = asyncio.Queue()
50
+ app.state.request_counter = 0
51
 
52
  # Create cancellable background tasks for periodic updates.
53
  price_task = asyncio.create_task(
 
174
  while True:
175
  payload = await queue.get()
176
  html = render_analysis_card(payload)
177
+ # =================== FIX APPLIED HERE ===================
178
+ data_payload = html.replace('\n', '')
179
+ sse_message = f"event: sentiment_update\ndata: {data_payload}\n\n"
180
+ yield sse_message
181
+ # ========================================================
182
  return StreamingResponse(event_generator(), media_type="text/event-stream")
183
 
184
  @app.get("/api/news/stream")
 
189
  while True:
190
  payload = await queue.get()
191
  html = render_analysis_card(payload, is_news=True)
192
+ # =================== FIX APPLIED HERE ===================
193
+ data_payload = html.replace('\n', '')
194
+ sse_message = f"event: news_update\ndata: {data_payload}\n\n"
195
+ yield sse_message
196
+ # ========================================================
197
  return StreamingResponse(event_generator(), media_type="text/event-stream")