mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-03 18:01:08 -05:00
Merge pull request #1475 from GSA/main
12/11/2024 Production Deployment API hotfixes
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
|
import random
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
|
|
||||||
from botocore.exceptions import ClientError
|
from botocore.exceptions import ClientError
|
||||||
@@ -29,8 +30,7 @@ DELIVERY_RECEIPT_DELAY_IN_SECONDS = 30
|
|||||||
@notify_celery.task(
|
@notify_celery.task(
|
||||||
bind=True,
|
bind=True,
|
||||||
name="check_sms_delivery_receipt",
|
name="check_sms_delivery_receipt",
|
||||||
max_retries=48,
|
max_retries=72,
|
||||||
default_retry_delay=300,
|
|
||||||
)
|
)
|
||||||
def check_sms_delivery_receipt(self, message_id, notification_id, sent_at):
|
def check_sms_delivery_receipt(self, message_id, notification_id, sent_at):
|
||||||
"""
|
"""
|
||||||
@@ -62,7 +62,10 @@ def check_sms_delivery_receipt(self, message_id, notification_id, sent_at):
|
|||||||
carrier=carrier,
|
carrier=carrier,
|
||||||
provider_response=provider_response,
|
provider_response=provider_response,
|
||||||
)
|
)
|
||||||
raise self.retry(exc=ntfe)
|
base_delay = 3600 # one hour
|
||||||
|
jitter = random.randint(-1200, +1200) # nosec B311
|
||||||
|
retry_delay = base_delay + jitter
|
||||||
|
raise self.retry(countdown=retry_delay, exc=ntfe)
|
||||||
except ClientError as err:
|
except ClientError as err:
|
||||||
# Probably a ThrottlingException but could be something else
|
# Probably a ThrottlingException but could be something else
|
||||||
error_code = err.response["Error"]["Code"]
|
error_code = err.response["Error"]["Code"]
|
||||||
@@ -77,7 +80,10 @@ def check_sms_delivery_receipt(self, message_id, notification_id, sent_at):
|
|||||||
carrier=carrier,
|
carrier=carrier,
|
||||||
provider_response=provider_response,
|
provider_response=provider_response,
|
||||||
)
|
)
|
||||||
raise self.retry(exc=err)
|
base_delay = 3600 # one hour
|
||||||
|
jitter = random.randint(-1200, +1200) # nosec B311
|
||||||
|
retry_delay = base_delay + jitter
|
||||||
|
raise self.retry(countdown=retry_delay, exc=err)
|
||||||
|
|
||||||
if status == "success":
|
if status == "success":
|
||||||
status = NotificationStatus.DELIVERED
|
status = NotificationStatus.DELIVERED
|
||||||
|
|||||||
@@ -158,7 +158,7 @@ class AwsCloudwatchClient(Client):
|
|||||||
message["delivery"].get("phoneCarrier", "Unknown Carrier"),
|
message["delivery"].get("phoneCarrier", "Unknown Carrier"),
|
||||||
)
|
)
|
||||||
|
|
||||||
if time_now > (created_at + timedelta(hours=3)):
|
if time_now > (created_at + timedelta(hours=73)):
|
||||||
# see app/models.py Notification. This message corresponds to "permanent-failure",
|
# see app/models.py Notification. This message corresponds to "permanent-failure",
|
||||||
# but we are copy/pasting here to avoid circular imports.
|
# but we are copy/pasting here to avoid circular imports.
|
||||||
return "failure", "Unable to find carrier response."
|
return "failure", "Unable to find carrier response."
|
||||||
|
|||||||
@@ -167,7 +167,7 @@ class Config(object):
|
|||||||
current_minute = (datetime.now().minute + 1) % 60
|
current_minute = (datetime.now().minute + 1) % 60
|
||||||
|
|
||||||
CELERY = {
|
CELERY = {
|
||||||
"worker_max_tasks_per_child": 500,
|
"worker_max_tasks_per_child": 2000,
|
||||||
"broker_url": REDIS_URL,
|
"broker_url": REDIS_URL,
|
||||||
"broker_transport_options": {
|
"broker_transport_options": {
|
||||||
"visibility_timeout": 310,
|
"visibility_timeout": 310,
|
||||||
|
|||||||
Reference in New Issue
Block a user