Skip to content

Commit d0556cc

Browse files
committed
clean queue handling code
1 parent 6816c83 commit d0556cc

File tree

1 file changed

+14
-17
lines changed

1 file changed

+14
-17
lines changed

run.py

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -191,32 +191,30 @@ def create_or_update_ecs_service(ecs, ECS_SERVICE_NAME, ECS_TASK_NAME):
191191
ecs.create_service(cluster=ECS_CLUSTER, serviceName=ECS_SERVICE_NAME, taskDefinition=ECS_TASK_NAME, desiredCount=0)
192192
print('Service created')
193193

194-
def get_queue_url(sqs):
194+
def get_queue_url(sqs, queue_name):
195195
result = sqs.list_queues()
196196
queue_url = None
197-
dead_url = None
198197
if 'QueueUrls' in result.keys():
199198
for u in result['QueueUrls']:
200-
if u.split('/')[-1] == SQS_QUEUE_NAME:
199+
if u.split('/')[-1] == queue_name:
201200
queue_url = u
202-
if u.split('/')[-1] == SQS_DEAD_LETTER_QUEUE:
203-
dead_url = u
204-
return queue_url, dead_url
205-
201+
return queue_url
206202

207203
def get_or_create_queue(sqs):
208-
queue_url, dead_url = get_queue_url(sqs)
204+
queue_url = get_queue_url(sqs, SQS_QUEUE_NAME)
205+
dead_url = get_queue_url(sqs, SQS_DEAD_LETTER_QUEUE)
209206
if dead_url is None:
210207
print("Creating DeadLetter queue")
211208
sqs.create_queue(QueueName=SQS_DEAD_LETTER_QUEUE)
212209
time.sleep(WAIT_TIME)
213-
queue_url, dead_url = get_queue_url(sqs)
214-
response = sqs.get_queue_attributes(
215-
QueueUrl=dead_url, AttributeNames=["QueueArn"]
216-
)
217-
dead_arn = response["Attributes"]["QueueArn"]
218-
219-
SQS_DEFINITION = {
210+
dead_url = get_queue_url(sqs, SQS_DEAD_LETTER_QUEUE)
211+
else:
212+
print (f'DeadLetter queue {SQS_DEAD_LETTER_QUEUE} already exists.')
213+
if queue_url is None:
214+
print('Creating queue')
215+
response = sqs.get_queue_attributes(QueueUrl=dead_url, AttributeNames=["QueueArn"])
216+
dead_arn = response["Attributes"]["QueueArn"]
217+
SQS_DEFINITION = {
220218
"DelaySeconds": "0",
221219
"MaximumMessageSize": "262144",
222220
"MessageRetentionPeriod": "1209600",
@@ -226,8 +224,6 @@ def get_or_create_queue(sqs):
226224
+ '","maxReceiveCount":"10"}',
227225
"VisibilityTimeout": str(SQS_MESSAGE_VISIBILITY),
228226
}
229-
if queue_url is None:
230-
print('Creating queue')
231227
sqs.create_queue(QueueName=SQS_QUEUE_NAME, Attributes=SQS_DEFINITION)
232228
time.sleep(WAIT_TIME)
233229
else:
@@ -757,6 +753,7 @@ def monitor(cheapest=False):
757753
deregistertask(ECS_TASK_NAME,ecs)
758754
print("Removing cluster if it's not the default and not otherwise in use")
759755
removeClusterIfUnused(monitorcluster, ecs)
756+
760757
# Remove Cloudwatch dashboard if created and cleanup desired
761758
if CREATE_DASHBOARD and CLEAN_DASHBOARD:
762759
clean_dashboard(monitorapp)

0 commit comments

Comments
 (0)