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

This commit is contained in:
liuzhenghua 2024-12-11 19:16:35 +08:00 committed by GitHub
parent ceaa9f1101
commit d05f189049
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 4 additions and 1 deletions

View File

@ -110,7 +110,7 @@ class RateLimitGenerator:
raise StopIteration raise StopIteration
try: try:
return next(self.generator) return next(self.generator)
except StopIteration: except Exception:
self.close() self.close()
raise raise

View File

@ -108,6 +108,9 @@ class AppGenerateService:
raise ValueError(f"Invalid app mode {app_model.mode}") raise ValueError(f"Invalid app mode {app_model.mode}")
except RateLimitError as e: except RateLimitError as e:
raise InvokeRateLimitError(str(e)) raise InvokeRateLimitError(str(e))
except Exception:
rate_limit.exit(request_id)
raise
finally: finally:
if not streaming: if not streaming:
rate_limit.exit(request_id) rate_limit.exit(request_id)