ServiceΒΆ
DashboardHTTPService - extends BlackboardHTTPService with WebSocket support.
Provides real-time dashboard capabilities by: 1. Mounting WebSocket endpoint at /ws 2. Serving static files for dashboard frontend 3. Integrating DashboardEventCollector with WebSocketManager 4. Supporting CORS for development mode (DASHBOARD_DEV=1)
ClassesΒΆ
DashboardHTTPService ΒΆ
DashboardHTTPService(orchestrator: Flock, websocket_manager: WebSocketManager | None = None, event_collector: DashboardEventCollector | None = None, *, use_v2: bool = False)
Bases: BlackboardHTTPService
HTTP service with WebSocket support for real-time dashboard.
Extends BlackboardHTTPService to add: - WebSocket endpoint at /ws for real-time event streaming - Static file serving for dashboard frontend - Integration with DashboardEventCollector - Optional CORS middleware for development
Initialize DashboardHTTPService.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
orchestrator | Flock | Flock orchestrator instance | required |
websocket_manager | WebSocketManager | None | Optional WebSocketManager (creates new if not provided) | None |
event_collector | DashboardEventCollector | None | Optional DashboardEventCollector (creates new if not provided) | None |
Source code in src/flock/dashboard/service.py
FunctionsΒΆ
start async
ΒΆ
Start the dashboard service.
Note: For testing purposes. In production, use uvicorn.run(app).
Source code in src/flock/dashboard/service.py
stop async
ΒΆ
Stop the dashboard service and clean up resources.
Closes all WebSocket connections gracefully.