Skip to content

Instantly share code, notes, and snippets.

@leotada
Created December 4, 2018 18:22
Show Gist options
  • Save leotada/08ddeb3b83e86cd09fe8cc42a96473d4 to your computer and use it in GitHub Desktop.
Save leotada/08ddeb3b83e86cd09fe8cc42a96473d4 to your computer and use it in GitHub Desktop.
Find, show, and delete messages from AWS SQS Queue
# Each thread only read 10 messages,
# to read more use more threads or increase visibility (lock) time and run again
# Debug True only print, False delete
import boto3
import boto3.session
import threading
DEBUG = True
QUEUE_URL = 'https://sqs*.fifo'
PATTERN = ''
class SQSTask(threading.Thread):
def run(self):
session = boto3.session.Session()
sqs = session.resource('sqs')
queue = sqs.Queue(url=QUEUE_URL)
print(queue.url)
messages = queue.receive_messages(
MaxNumberOfMessages=10,
VisibilityTimeout=20,
WaitTimeSeconds=20)
# SQS Message
count = 0
for message in messages:
f = message.body.find(PATTERN)
if f > -1:
if DEBUG:
print(message.body)
else:
message.delete()
count += 1
print(f'Quantidade de mensagens encontradas: {count}')
for i in range(10):
t = SQSTask()
t.start()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment