fix progress events
This commit is contained in:
@@ -66,23 +66,25 @@ async def lifespan(app: FastAPI):
|
||||
)
|
||||
except Exception as e:
|
||||
logger.warning("Failed to load config from config.json: %s", e)
|
||||
|
||||
|
||||
# Initialize progress service with websocket callback
|
||||
|
||||
# Initialize progress service with event subscription
|
||||
progress_service = get_progress_service()
|
||||
ws_service = get_websocket_service()
|
||||
|
||||
async def broadcast_callback(
|
||||
message_type: str, data: dict, room: str
|
||||
) -> None:
|
||||
"""Broadcast progress updates via WebSocket."""
|
||||
async def progress_event_handler(event) -> None:
|
||||
"""Handle progress events and broadcast via WebSocket.
|
||||
|
||||
Args:
|
||||
event: ProgressEvent containing progress update data
|
||||
"""
|
||||
message = {
|
||||
"type": message_type,
|
||||
"data": data,
|
||||
"type": event.event_type,
|
||||
"data": event.progress.to_dict(),
|
||||
}
|
||||
await ws_service.manager.broadcast_to_room(message, room)
|
||||
await ws_service.manager.broadcast_to_room(message, event.room)
|
||||
|
||||
progress_service.set_broadcast_callback(broadcast_callback)
|
||||
# Subscribe to progress events
|
||||
progress_service.subscribe("progress_updated", progress_event_handler)
|
||||
|
||||
logger.info("FastAPI application started successfully")
|
||||
logger.info("Server running on http://127.0.0.1:8000")
|
||||
|
||||
Reference in New Issue
Block a user