mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-08-12 06:58:59 +08:00
enhance: avoid to use transaction Redis commands in rate limiter (#15917)
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
This commit is contained in:
parent
1789437cc5
commit
e428628fcc
@ -40,14 +40,10 @@ class RateLimit:
|
|||||||
self.last_recalculate_time = time.time()
|
self.last_recalculate_time = time.time()
|
||||||
# flush max active requests
|
# flush max active requests
|
||||||
if use_local_value or not redis_client.exists(self.max_active_requests_key):
|
if use_local_value or not redis_client.exists(self.max_active_requests_key):
|
||||||
with redis_client.pipeline() as pipe:
|
redis_client.setex(self.max_active_requests_key, timedelta(days=1), self.max_active_requests)
|
||||||
pipe.set(self.max_active_requests_key, self.max_active_requests)
|
|
||||||
pipe.expire(self.max_active_requests_key, timedelta(days=1))
|
|
||||||
pipe.execute()
|
|
||||||
else:
|
else:
|
||||||
with redis_client.pipeline() as pipe:
|
self.max_active_requests = int(redis_client.get(self.max_active_requests_key).decode("utf-8"))
|
||||||
self.max_active_requests = int(redis_client.get(self.max_active_requests_key).decode("utf-8"))
|
redis_client.expire(self.max_active_requests_key, timedelta(days=1))
|
||||||
redis_client.expire(self.max_active_requests_key, timedelta(days=1))
|
|
||||||
|
|
||||||
# flush max active requests (in-transit request list)
|
# flush max active requests (in-transit request list)
|
||||||
if not redis_client.exists(self.active_requests_key):
|
if not redis_client.exists(self.active_requests_key):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user