Files
python-VM/slack-bot/traffic-scraper/prd/receiveFromSQS.py

45 lines
1.6 KiB
Python

import boto3
import base64
class receiveFromSQS(object):
"""docstring for receiveFromSQS"""
def __init__(self, session, queueURL):
super(receiveFromSQS, self).__init__()
self.session = session
self.sqs = session.client('sqs')
self.queueURL = queueURL
@classmethod
def createSession(cls, profileName, queueURL):
session = boto3.Session(profile_name=profileName)
return cls(session, queueURL)
def receiveMessage(self, b64=True, MaxNumberOfMessages=10, delete=False,
endString='END'):
while True:
response = self.sqs\
.receive_message(QueueUrl=self.queueURL,
MaxNumberOfMessages=MaxNumberOfMessages)
if 'Messages' in response:
for message in response['Messages']:
if b64:
decoded = base64.b64decode(message['Body'])
msg = decoded.decode()
print(msg)
if msg == endString:
return self
else:
msg = print(message['Body'])
if msg == endString:
return self
else:
print('Queue is empty')
break
inst = receiveFromSQS.createSession(profileName='plex-aws',
queueURL='https://sqs.eu-west-1.amazonaws'
'.com/745437999005/slack-bot.fifo')
inst.receiveMessage()