Modified the handle_disconnect function in websocket_server/events/messages.py to delete the Redis keys ws_liveness:{worker_id} and ws_latency:{worker_id} when a worker disconnects. This prevents stale heartbeat data from causing reconcile_online_workers to incorrectly mark disconnected workers as online.

This commit is contained in:
2025-09-23 01:31:41 +09:30
parent 932156dcc6
commit 109f99369d
+6
View File
@@ -42,6 +42,12 @@ def register_socketio_handlers(socketio):
if worker_id:
del connected_workers[worker_id]
logger.warning(f"Worker {worker_id} disconnected")
# Delete Redis ping keys to prevent stale heartbeats from marking worker online
redis_client = get_redis_client()
redis_client.delete(f"ws_liveness:{worker_id}")
redis_client.delete(f"ws_latency:{worker_id}")
notify_worker_disconnect(worker_id)