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:
@@ -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)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user