mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-03 18:01:08 -05:00
Merge pull request #1470 from GSA/change_retry_schedule
change retry schedule
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
|
||||||
|
|||||||
Reference in New Issue
Block a user