* Timeout for external API calls
This commit is contained in:
parent
3110017949
commit
d0ae3dc0d7
|
|
@ -104,7 +104,7 @@ class CDEKClient:
|
|||
retries += 1
|
||||
prepared = self.session.prepare_request(request)
|
||||
try:
|
||||
r = self.session.send(prepared)
|
||||
r = self.session.send(prepared, timeout=settings.EXTERNAL_API_TIMEOUT_SEC)
|
||||
except:
|
||||
continue
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ class CurrencyAPIClient:
|
|||
while retries < self.MAX_RETRIES:
|
||||
retries += 1
|
||||
prepared = self.session.prepare_request(request)
|
||||
r = self.session.send(prepared)
|
||||
r = self.session.send(prepared, timeout=settings.EXTERNAL_API_TIMEOUT_SEC)
|
||||
|
||||
# TODO: handle/log errors
|
||||
return r
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
from urllib3.util import parse_url
|
||||
from urllib.parse import urljoin, parse_qs
|
||||
|
||||
from django.conf import settings
|
||||
import requests
|
||||
|
||||
|
||||
|
|
@ -25,7 +26,7 @@ class PoizonClient:
|
|||
while retries < self.MAX_RETRIES:
|
||||
retries += 1
|
||||
prepared = self.session.prepare_request(request)
|
||||
r = self.session.send(prepared)
|
||||
r = self.session.send(prepared, timeout=settings.EXTERNAL_API_TIMEOUT_SEC)
|
||||
|
||||
# TODO: handle/log errors
|
||||
return r
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ BASE_DIR = Path(__file__).resolve().parent.parent
|
|||
# SECURITY WARNING: keep the secret key used in production secret!
|
||||
SECRET_KEY = '***REMOVED***'
|
||||
|
||||
# External API settings
|
||||
CDEK_CLIENT_ID = '***REMOVED***'
|
||||
CDEK_CLIENT_SECRET = '***REMOVED***'
|
||||
|
||||
|
|
@ -31,6 +32,8 @@ POIZON_TOKEN = '***REMOVED***'
|
|||
|
||||
CURRENCY_GETGEOIP_API_KEY = '***REMOVED***'
|
||||
|
||||
EXTERNAL_API_TIMEOUT_SEC = 60
|
||||
|
||||
# SECURITY WARNING: don't run with debug turned on in production!
|
||||
DEBUG = bool(int(os.environ.get("DJANGO_DEBUG") or 0))
|
||||
DISABLE_PERMISSIONS = False
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user