Skip to content

Commit 00f39e5

Browse files
authored
Merge pull request #1478 from GSA/main
12/12/2024 Production Deploy
2 parents fcfb6e6 + 560ef3f commit 00f39e5

File tree

4 files changed

+34
-12
lines changed

4 files changed

+34
-12
lines changed

app/celery/provider_tasks.py

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import json
22
import os
3-
import random
43
from datetime import timedelta
54

65
from botocore.exceptions import ClientError
@@ -30,7 +29,8 @@
3029
@notify_celery.task(
3130
bind=True,
3231
name="check_sms_delivery_receipt",
33-
max_retries=72,
32+
max_retries=48,
33+
default_retry_delay=300,
3434
)
3535
def check_sms_delivery_receipt(self, message_id, notification_id, sent_at):
3636
"""
@@ -62,10 +62,7 @@ def check_sms_delivery_receipt(self, message_id, notification_id, sent_at):
6262
carrier=carrier,
6363
provider_response=provider_response,
6464
)
65-
base_delay = 3600 # one hour
66-
jitter = random.randint(-1200, +1200) # nosec B311
67-
retry_delay = base_delay + jitter
68-
raise self.retry(countdown=retry_delay, exc=ntfe)
65+
raise self.retry(exc=ntfe)
6966
except ClientError as err:
7067
# Probably a ThrottlingException but could be something else
7168
error_code = err.response["Error"]["Code"]
@@ -80,10 +77,7 @@ def check_sms_delivery_receipt(self, message_id, notification_id, sent_at):
8077
carrier=carrier,
8178
provider_response=provider_response,
8279
)
83-
base_delay = 3600 # one hour
84-
jitter = random.randint(-1200, +1200) # nosec B311
85-
retry_delay = base_delay + jitter
86-
raise self.retry(countdown=retry_delay, exc=err)
80+
raise self.retry(exc=err)
8781

8882
if status == "success":
8983
status = NotificationStatus.DELIVERED

app/clients/cloudwatch/aws_cloudwatch.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ def check_sms(self, message_id, notification_id, created_at):
158158
message["delivery"].get("phoneCarrier", "Unknown Carrier"),
159159
)
160160

161-
if time_now > (created_at + timedelta(hours=73)):
161+
if time_now > (created_at + timedelta(hours=3)):
162162
# see app/models.py Notification. This message corresponds to "permanent-failure",
163163
# but we are copy/pasting here to avoid circular imports.
164164
return "failure", "Unable to find carrier response."

app/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ class Config(object):
167167
current_minute = (datetime.now().minute + 1) % 60
168168

169169
CELERY = {
170-
"worker_max_tasks_per_child": 2000,
170+
"worker_max_tasks_per_child": 500,
171171
"broker_url": REDIS_URL,
172172
"broker_transport_options": {
173173
"visibility_timeout": 310,
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
"""
2+
3+
Revision ID: 0413_add_message_id
4+
Revises: 412_remove_priority
5+
Create Date: 2023-12-11 11:35:22.873930
6+
7+
"""
8+
9+
import sqlalchemy as sa
10+
from alembic import op
11+
12+
revision = "0413_add_message_id"
13+
down_revision = "0412_remove_priority"
14+
15+
16+
def upgrade():
17+
op.add_column("notifications", sa.Column("message_id", sa.Text))
18+
op.create_index(
19+
"ix_notifications_message_id",
20+
"notifications",
21+
["message_id"],
22+
unique=False,
23+
)
24+
25+
26+
def downgrade():
27+
op.drop_index("ix_notifications_message_id", table_name="notifications")
28+
op.drop_column("notifications", "message_id")

0 commit comments

Comments
 (0)