v0.1 of send and receive scripts
This commit is contained in:
44
slack-bot/traffic-scraper/prd/receiveFromSQS.py
Normal file
44
slack-bot/traffic-scraper/prd/receiveFromSQS.py
Normal file
@@ -0,0 +1,44 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user