From d05f1890497e1c82816bcc81fce225ec5fef2ef2 Mon Sep 17 00:00:00 2001 From: liuzhenghua <1090179900@qq.com> Date: Wed, 11 Dec 2024 19:16:35 +0800 Subject: [PATCH] Fix: RateLimit requests were not released when a streaming generation exception occurred (#11540) --- api/core/app/features/rate_limiting/rate_limit.py | 2 +- api/services/app_generate_service.py | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/api/core/app/features/rate_limiting/rate_limit.py b/api/core/app/features/rate_limiting/rate_limit.py index 154a49ebd..8fe1d96b3 100644 --- a/api/core/app/features/rate_limiting/rate_limit.py +++ b/api/core/app/features/rate_limiting/rate_limit.py @@ -110,7 +110,7 @@ class RateLimitGenerator: raise StopIteration try: return next(self.generator) - except StopIteration: + except Exception: self.close() raise diff --git a/api/services/app_generate_service.py b/api/services/app_generate_service.py index 545de8190..9def7d15e 100644 --- a/api/services/app_generate_service.py +++ b/api/services/app_generate_service.py @@ -108,6 +108,9 @@ class AppGenerateService: raise ValueError(f"Invalid app mode {app_model.mode}") except RateLimitError as e: raise InvokeRateLimitError(str(e)) + except Exception: + rate_limit.exit(request_id) + raise finally: if not streaming: rate_limit.exit(request_id)