-
Notifications
You must be signed in to change notification settings - Fork 70
Open
Description
Say I have two existing queues: a queue process-queue
and an error queue error-queue
.
My error queue is never flagged as existing because the ListQueues
operation is prefixed to the main queue name:
python-sqs-listener/sqs_listener/__init__.py
Lines 85 to 94 in 03400ca
queues = sqs.list_queues(QueueNamePrefix=self._queue_name) | |
main_queue_exists = False | |
error_queue_exists = False | |
if 'QueueUrls' in queues: | |
for q in queues['QueueUrls']: | |
qname = q.split('/')[-1] | |
if qname == self._queue_name: | |
main_queue_exists = True | |
if self._error_queue_name and qname == self._error_queue_name: | |
error_queue_exists = True |
The listener attempts to create the error queue since it wasn't found, and gets a QueueAlreadyExists
error immediately.
If I specify the error queue as process-queue-error
and it already exists, I don't get any errors, because it comes back in the ListQueues
call that uses the prefix.
A couple solutions to this but it's a pretty big issue for anyone using pre-created queues.
Metadata
Metadata
Assignees
Labels
No labels