websocket add

This commit is contained in:
2026-05-31 17:17:30 +03:00
parent 18f88a6928
commit e17f4f64a9
14 changed files with 590 additions and 141 deletions

View File

@@ -350,6 +350,17 @@ async def start_maintenance(
extra={"event_id": event.id, "task_id": task.id},
)
# ── Broadcast maintenance event ──
task_manager.broadcast_maintenance_event({
"type": "maintenance.event_created",
"maintenance_id": event.id,
"tables": sorted_tables,
"start_time": event.start_time.isoformat() if event.start_time else None,
"end_time": event.end_time.isoformat() if event.end_time else None,
"message": message,
"environment_id": env_id,
})
return MaintenanceStartResponse(
task_id=task.id,
maintenance_id=event.id,
@@ -421,6 +432,12 @@ async def end_maintenance(
extra={"event_id": maintenance_id, "task_id": task.id},
)
# ── Broadcast maintenance event ──
task_manager.broadcast_maintenance_event({
"type": "maintenance.event_ended",
"maintenance_id": maintenance_id,
})
return MaintenanceEndResponse(
task_id=task.id,
status="pending",
@@ -485,6 +502,12 @@ async def end_all_maintenance(
extra={"task_id": task.id, "environment_id": effective_env_id},
)
# ── Broadcast maintenance event ──
task_manager.broadcast_maintenance_event({
"type": "maintenance.events_ended_all",
"environment_id": effective_env_id or "",
})
return MaintenanceEndResponse(
task_id=task.id,
status="pending",