@@ -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
207203def 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