Skip to content

Commit b6b02cb

Browse files
committed
Improve connection error handling
1 parent 1caa60b commit b6b02cb

3 files changed

Lines changed: 9 additions & 5 deletions

File tree

backend/donations/management/commands/check_ngos.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from django.core.management import BaseCommand
88
from django.db.models import Q
99
from django.utils import timezone
10-
from requests.exceptions import Timeout
10+
from requests.exceptions import ConnectionError, Timeout
1111

1212
from donations.models.ngos import Ngo
1313
from donations.workers.check_organization import cult_registry_check_organizations

backend/donations/workers/check_organization.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from django.conf import settings
66
from django.utils import timezone
77
from django_q.tasks import async_task
8-
from requests.exceptions import Timeout
8+
from requests.exceptions import ConnectionError, Timeout
99

1010
from donations.models.ngos import Ngo
1111
from utils.helper_logging import setup_logger

backend/donations/workers/update_organization.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
from ngohub.models.organization import Organization, OrganizationGeneral
1717
from pycognito import Cognito
1818
from requests import Response
19-
from requests.exceptions import Timeout
19+
from requests.exceptions import ConnectionError, Timeout
2020

2121
from donations.common.validation.validate_slug import NgoSlugValidator
2222
from donations.models.common import CommonFilenameCacheModel
@@ -62,17 +62,21 @@ def _copy_file_to_object_with_filename_cache(
6262
return None
6363

6464
failed = False
65+
error_code = ""
6566
try:
6667
r: Response = requests.get(signed_file_url, timeout=20)
6768
except Timeout:
6869
failed = True
69-
r = None
70+
error_code = "Connection Timeout"
71+
except ConnectionError:
72+
failed = True
73+
error_code = "Connection Error"
7074
else:
7175
if r.status_code != requests.codes.ok:
76+
error_code = r.status_code
7277
failed = True
7378

7479
if failed:
75-
error_code = r.status_code if r else "TIMEOUT"
7680
logger.info("%s file request status = %s", attribute_name.upper(), error_code)
7781
error_message = f"ERROR: Could not download {attribute_name} file from NGO Hub, error status {error_code}."
7882
logger.warning(error_message)

0 commit comments

Comments
 (0)