updating receiveFromSQS.py
This commit is contained in:
Binary file not shown.
@@ -11,6 +11,7 @@ class receiveFromSQS(object):
|
|||||||
self.session = session
|
self.session = session
|
||||||
self.sqs = session.client('sqs')
|
self.sqs = session.client('sqs')
|
||||||
self.queueURL = queueURL
|
self.queueURL = queueURL
|
||||||
|
self.messages = []
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def createSession(cls, profileName, queueURL):
|
def createSession(cls, profileName, queueURL):
|
||||||
@@ -35,7 +36,7 @@ class receiveFromSQS(object):
|
|||||||
):
|
):
|
||||||
self.response = []
|
self.response = []
|
||||||
loops = int(math.ceil(totalNumberOfMessages / maxNumberOfMessages))
|
loops = int(math.ceil(totalNumberOfMessages / maxNumberOfMessages))
|
||||||
for i in range(0, loops):
|
for i in range(0, loops * 2):
|
||||||
self.response.append(
|
self.response.append(
|
||||||
self.sqs.receive_message(
|
self.sqs.receive_message(
|
||||||
QueueUrl=self.queueURL,
|
QueueUrl=self.queueURL,
|
||||||
@@ -44,55 +45,58 @@ class receiveFromSQS(object):
|
|||||||
)
|
)
|
||||||
return self
|
return self
|
||||||
|
|
||||||
def _extractMessageFromSQS(self, totalNumberOfMessages):
|
def _extractMessageFromSQS(self, totalNumberOfMessages, deleteOnReceipt):
|
||||||
self.messages = []
|
self.extractedMessages = []
|
||||||
|
self.receiptHandles = []
|
||||||
try:
|
try:
|
||||||
loops = len(self.response)
|
loops = len(self.response)
|
||||||
for i in range(0, loops):
|
for i in range(0, loops):
|
||||||
if 'Messages' in self.response[i]:
|
if 'Messages' in self.response[i]:
|
||||||
_message = self.response[i]['Messages']
|
_message = self.response[i]['Messages']
|
||||||
for rawMessage in _message:
|
for rawMessage in _message:
|
||||||
self.messages.append(rawMessage['Body'])
|
self.extractedMessages.append(rawMessage['Body'])
|
||||||
|
# self.receiptHandles.append(rawMessage['ReceiptHandle'])
|
||||||
|
if deleteOnReceipt:
|
||||||
|
self.sqs.delete_message(
|
||||||
|
QueueUrl=self.queueURL,
|
||||||
|
ReceiptHandle=rawMessage['ReceiptHandle'],
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
print("No messages in the queue")
|
print('No messages in the queue')
|
||||||
except KeyError:
|
except KeyError:
|
||||||
print("No messages in the queue")
|
print('No messages in the queue')
|
||||||
return self
|
return self
|
||||||
|
|
||||||
# def receiveMessage(
|
def _decodeMessages(self):
|
||||||
# self, b64=True, MaxNumberOfMessages=10, delete=False, endString='END'
|
if len(self.extractedMessages) == 0:
|
||||||
# ):
|
print('No messages to process')
|
||||||
# while True:
|
else:
|
||||||
# response = self.sqs.receive_message(
|
for message in self.extractedMessages:
|
||||||
# QueueUrl=self.queueURL,
|
decoded = base64.b64decode(message).decode()
|
||||||
# MaxNumberOfMessages=MaxNumberOfMessages
|
self.messages.append(decoded)
|
||||||
# )
|
return self
|
||||||
# if 'Messages' in response:
|
|
||||||
# for message in response['Messages']:
|
def _deleteMessage(self, ReceiptHandle):
|
||||||
# if b64:
|
self.sqs.delete_message(
|
||||||
# decoded = base64.b64decode(message['Body'])
|
QueueUrl=self.queueURL, ReceiptHandle=ReceiptHandle
|
||||||
# msg = decoded.decode()
|
)
|
||||||
# if msg == endString:
|
|
||||||
# return self
|
|
||||||
# else:
|
|
||||||
# msg = print(message['Body'])
|
|
||||||
# if msg == endString:
|
|
||||||
# return self
|
|
||||||
# else:
|
|
||||||
# print('Queue is empty')
|
|
||||||
# break
|
|
||||||
|
|
||||||
def receiveAllMessages(self, b64=True, deleteOnReceipt=False):
|
def receiveAllMessages(self, b64=True, deleteOnReceipt=False):
|
||||||
totalNumberOfMessages = self.getQueueLength()
|
totalNumberOfMessages = self.getQueueLength()
|
||||||
self._receiveSQSMessage(
|
self._receiveSQSMessage(
|
||||||
totalNumberOfMessages,
|
totalNumberOfMessages, deleteOnReceipt=deleteOnReceipt
|
||||||
deleteOnReceipt=deleteOnReceipt
|
|
||||||
)
|
)
|
||||||
self._extractMessageFromSQS(
|
self._extractMessageFromSQS(
|
||||||
totalNumberOfMessages=totalNumberOfMessages
|
totalNumberOfMessages=totalNumberOfMessages,
|
||||||
|
deleteOnReceipt=deleteOnReceipt
|
||||||
)
|
)
|
||||||
if b64:
|
if b64:
|
||||||
pass # WRITE THIS IN!
|
self._decodeMessages()
|
||||||
|
else:
|
||||||
|
self.messages = self.extractedMessages
|
||||||
|
# if deleteOnReceipt:
|
||||||
|
# for receipt in self.receiptHandles:
|
||||||
|
# self._deleteMessage(receipt)
|
||||||
return self
|
return self
|
||||||
|
|
||||||
|
|
||||||
@@ -102,7 +106,7 @@ inst = receiveFromSQS.createSession(
|
|||||||
'.com/745437999005/slack-bot.fifo',
|
'.com/745437999005/slack-bot.fifo',
|
||||||
)
|
)
|
||||||
|
|
||||||
inst.receiveAllMessages()
|
inst.receiveAllMessages(deleteOnReceipt=False)
|
||||||
for item in inst.messages:
|
for item in inst.messages:
|
||||||
print(item)
|
print(item)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user