소스 검색

Fix: RateLimit requests were not released when a streaming generation exception occurred (#11540)

liuzhenghua 7 달 전
부모
커밋
d05f189049
2개의 변경된 파일4개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      api/core/app/features/rate_limiting/rate_limit.py
  2. 3 0
      api/services/app_generate_service.py

+ 1 - 1
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
 

+ 3 - 0
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)