diff --git a/requirements.txt b/requirements.txt index a19e9f80..ee6a9f91 100644 --- a/requirements.txt +++ b/requirements.txt @@ -22,5 +22,5 @@ psycopg[binary,pool]==3.3.3 python-decouple==3.8 redis[hiredis]==7.4.0 requests==2.33.1 -requests-ratelimiter==0.8.0 +requests-ratelimiter==0.9.3 unidecode==1.4.0 diff --git a/src/app/providers/services.py b/src/app/providers/services.py index 2b52b124..5c2ceab6 100644 --- a/src/app/providers/services.py +++ b/src/app/providers/services.py @@ -5,7 +5,7 @@ import requests from defusedxml import ElementTree from django.conf import settings from pyrate_limiter import RedisBucket -from redis import ConnectionPool +from redis import ConnectionPool, Redis from requests.adapters import HTTPAdapter from requests_ratelimiter import LimiterAdapter, LimiterSession @@ -34,13 +34,13 @@ def get_redis_connection(): return ConnectionPool.from_url(settings.REDIS_URL) -redis_pool = get_redis_connection() -bucket_name = f"{settings.REDIS_PREFIX}_api" if settings.REDIS_PREFIX else "api" +redis_db = Redis(connection_pool=get_redis_connection()) +bucket_key = f"{settings.REDIS_PREFIX}_api" if settings.REDIS_PREFIX else "api" session = LimiterSession( per_second=5, bucket_class=RedisBucket, - bucket_kwargs={"redis_pool": redis_pool, "bucket_name": bucket_name}, + bucket_kwargs={"redis": redis_db, "bucket_key": bucket_key}, ) session.mount("http://", HTTPAdapter(max_retries=3))