From d94d1043803f7ef556d9be3c081b115153afcfac Mon Sep 17 00:00:00 2001 From: VivianDee <115420678+VivianDee@users.noreply.github.com> Date: Fri, 10 Apr 2026 10:39:49 +0100 Subject: [PATCH 1/2] [add]: Timeout --- app/api/integrations/events_service.py | 5 +++-- app/api/integrations/simbrella.py | 9 +++++---- app/config.py | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/app/api/integrations/events_service.py b/app/api/integrations/events_service.py index bc9fa82..8d8284c 100644 --- a/app/api/integrations/events_service.py +++ b/app/api/integrations/events_service.py @@ -8,6 +8,7 @@ class EventServiceIntegration: EVENTS_SERVICE_BASE_URL = settings.EVENTS_SERVICE_BASE_URL ENDPOINT_DIRECT_LOAN = settings.ENDPOINT_DIRECT_LOAN ENDPOINT_DIRECT_REPAYMENT = settings.ENDPOINT_DIRECT_REPAYMENT + TIMEOUT = settings.TIMEOUT @staticmethod def direct_loan(transaction_id: str): @@ -23,7 +24,7 @@ class EventServiceIntegration: } try: - response = httpx.post(url, json=payload, headers=headers, timeout=10.0) + response = httpx.post(url, json=payload, headers=headers, timeout=EventServiceIntegration.TIMEOUT) logger.info(f"Loan Response: {response.text}") return response except Exception as e: @@ -44,7 +45,7 @@ class EventServiceIntegration: } try: - response = httpx.post(url, json=payload, headers=headers, timeout=10.0) + response = httpx.post(url, json=payload, headers=headers, timeout=EventServiceIntegration.TIMEOUT) logger.info(f"Repayment Response: {response.text}") return response except Exception as e: diff --git a/app/api/integrations/simbrella.py b/app/api/integrations/simbrella.py index 9e9d5f9..0535ef0 100644 --- a/app/api/integrations/simbrella.py +++ b/app/api/integrations/simbrella.py @@ -11,6 +11,7 @@ class SimbrellaIntegration: HEALTH_ENDPOINT = settings.SIMBRELLA_HEALTH AUTH_ENDPOINT = settings.BANK_CALL_AUTH_ENDPOINT SIMBRELLA_VERIFY_BALANCE_ENDPOINT = settings.SIMBRELLA_VERIFY_BALANCE_ENDPOINT + TIMEOUT = settings.TIMEOUT _access_token = None # cache token in memory _token_expiry = 0 @@ -33,7 +34,7 @@ class SimbrellaIntegration: try: logger.info(f"Requesting Bank token from {url}") - response = httpx.post(url, json=payload, headers=headers, timeout=10.0) + response = httpx.post(url, json=payload, headers=headers, timeout=SimbrellaIntegration.TIMEOUT) response.raise_for_status() data = response.json() @@ -86,7 +87,7 @@ class SimbrellaIntegration: } - response = httpx.post(url, json=payload, headers=headers, timeout=10.0) + response = httpx.post(url, json=payload, headers=headers, timeout=SimbrellaIntegration.TIMEOUT) logger.info(f"This is Response: {str(response)}", exc_info=True) @@ -122,7 +123,7 @@ class SimbrellaIntegration: url, json=payload, headers=headers, - timeout=10.0, + timeout=SimbrellaIntegration.TIMEOUT, ) logger.info( @@ -164,7 +165,7 @@ class SimbrellaIntegration: "Authorization": f"Bearer {access_token}" } - response = httpx.get(url, headers=headers, timeout=10.0) + response = httpx.get(url, headers=headers, timeout=SimbrellaIntegration.TIMEOUT) logger.info(f"Bank Health Check Response: {response.text}") return response except Exception as e: diff --git a/app/config.py b/app/config.py index f95899e..e9ee985 100644 --- a/app/config.py +++ b/app/config.py @@ -52,7 +52,7 @@ class Config: BANK_CALL_AUTH_ENDPOINT = os.getenv("BANK_CALL_AUTH_ENDPOINT", "/api/Auth/generate-token") BANK_CALL_USERNAME = os.getenv("BANK_CALL_USERNAME", "simbrella") BANK_CALL_PASSWORD = os.getenv("BANK_CALL_PASSWORD", "G7$k9@pL2!qR") - + TIMEOUT = os.getenv("TIMEOUT", 60.0) EVENTS_SERVICE_BASE_URL = os.getenv("EVENTS_SERVICE_BASE_URL","https://event-core.simbrellang.net") From 64fc119ca70cb037c93fcd48b83854a97298776b Mon Sep 17 00:00:00 2001 From: VivianDee <115420678+VivianDee@users.noreply.github.com> Date: Fri, 10 Apr 2026 10:55:09 +0100 Subject: [PATCH 2/2] Update events_service.py --- app/api/integrations/events_service.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/api/integrations/events_service.py b/app/api/integrations/events_service.py index 8d8284c..9547c16 100644 --- a/app/api/integrations/events_service.py +++ b/app/api/integrations/events_service.py @@ -62,7 +62,7 @@ class EventServiceIntegration: logger.info(f"Health Check URL: {url}") try: - response = httpx.get(url, timeout=5.0) + response = httpx.get(url, timeout=EventServiceIntegration.TIMEOUT) logger.info(f"Health Check Response: {response.text}") return response except Exception as e: