From c88e4b3fc0b93980b5c05a3e08cb204af12ef0cd Mon Sep 17 00:00:00 2001 From: Stephen Hu Date: Tue, 29 Apr 2025 16:50:39 +0800 Subject: [PATCH] Fix: improve recover_pending_tasks timeout (#7408) ### What problem does this PR solve? Fix the redis lock will always timeout (change the logic order release lock first) ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) --- rag/svr/task_executor.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/rag/svr/task_executor.py b/rag/svr/task_executor.py index 0f8ffc161..379581aa3 100644 --- a/rag/svr/task_executor.py +++ b/rag/svr/task_executor.py @@ -700,12 +700,13 @@ def recover_pending_tasks(): f"time since delivered: {msg['time_since_delivered'] / 1000} s" ) REDIS_CONN.requeue_msg(queue_name, SVR_CONSUMER_GROUP_NAME, msg['message_id']) - - stop_event.wait(60) except Exception: logging.warning("recover_pending_tasks got exception") finally: redis_lock.release() + stop_event.wait(60) + + async def main():