diff --git a/slack-bot/__pycache__/pullTrafficInfo.cpython-37.pyc b/slack-bot/__pycache__/pullTrafficInfo.cpython-37.pyc index 49036d2..5a5c7db 100644 Binary files a/slack-bot/__pycache__/pullTrafficInfo.cpython-37.pyc and b/slack-bot/__pycache__/pullTrafficInfo.cpython-37.pyc differ diff --git a/slack-bot/traffic-scraper/dev/sendToSQS_old.py b/slack-bot/traffic-scraper/dev/sendToSQS_old.py index 0e8d505..c0e1e6f 100644 --- a/slack-bot/traffic-scraper/dev/sendToSQS_old.py +++ b/slack-bot/traffic-scraper/dev/sendToSQS_old.py @@ -26,7 +26,7 @@ inst = getTrafficInfo.getTrafficURL(motorway).findIncidents() \ queueURL = 'https://sqs.eu-west-1.amazonaws.com/745437999005/slack-bot.fifo' # message = sqs.send_message(QueueUrl=queueURL, -# MessageBody='string', +# MessageBofdy='string', # MessageGroupId='slack-bot-motorway') # response = sqs.receive_message(QueueUrl=queueURL, @@ -51,6 +51,10 @@ queueURL = 'https://sqs.eu-west-1.amazonaws.com/745437999005/slack-bot.fifo' # # print(encoded.encode()) # # print(base64.b64decode(encoded.encode()).decode()) +queueAttributes = sqs\ + .get_queue_attributes(QueueUrl=queueURL, + AttributeNames=['ApproximateNumberOfMessages']) + response = sqs.receive_message(QueueUrl=queueURL, MaxNumberOfMessages=10) diff --git a/slack-bot/traffic-scraper/prd/__pycache__/pullTrafficInfo.cpython-37.pyc b/slack-bot/traffic-scraper/prd/__pycache__/pullTrafficInfo.cpython-37.pyc index c32afae..57f734c 100644 Binary files a/slack-bot/traffic-scraper/prd/__pycache__/pullTrafficInfo.cpython-37.pyc and b/slack-bot/traffic-scraper/prd/__pycache__/pullTrafficInfo.cpython-37.pyc differ diff --git a/slack-bot/traffic-scraper/prd/receiveFromSQS.py b/slack-bot/traffic-scraper/prd/receiveFromSQS.py index affa03a..9d9f582 100644 --- a/slack-bot/traffic-scraper/prd/receiveFromSQS.py +++ b/slack-bot/traffic-scraper/prd/receiveFromSQS.py @@ -4,6 +4,7 @@ import base64 class receiveFromSQS(object): """docstring for receiveFromSQS""" + def __init__(self, session, queueURL): super(receiveFromSQS, self).__init__() self.session = session @@ -15,25 +16,47 @@ class receiveFromSQS(object): session = boto3.Session(profile_name=profileName) return cls(session, queueURL) + def getQueueLength(self): + attributeNames = ['ApproximateNumberOfMessages'] + self.queueAttributes = self.sqs.get_queue_attributes( + QueueUrl=self.queueURL, + AttributeNames=attributeNames, + ) + self.queueLength = int( + self.queueAttributes['Attributes'][ + 'ApproximateNumberOfMessages' + ] + ) + return self.queueLength + def _receiveSQSMessage(self, maxNumberOfMessages=10): - response = self.sqs\ - .receive_message(QueueUrl=self.queueURL, - MaxNumberOfMessages=maxNumberOfMessages) + response = self.sqs.receive_message( + QueueUrl=self.queueURL, + MaxNumberOfMessages=maxNumberOfMessages, + ) return response def _extractMessageFromSQS(self): pass - def receiveMessage(self, b64=True, MaxNumberOfMessages=10, delete=False, - endString='END'): + def receiveMessage( + self, + b64=True, + MaxNumberOfMessages=10, + delete=False, + endString='END', + ): while True: - response = self.sqs\ - .receive_message(QueueUrl=self.queueURL, - MaxNumberOfMessages=MaxNumberOfMessages) + 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']) + decoded = base64.b64decode( + message['Body'] + ) msg = decoded.decode() print(msg) if msg == endString: @@ -46,12 +69,14 @@ class receiveFromSQS(object): print('Queue is empty') break - def receiveAllMessages(self, b64=True, delete=None): + def receiveAllMessages(self, b64=True, delete=False): while True: self.response = self._receiveSQSMessage() -inst = receiveFromSQS.createSession(profileName='plex-aws', - queueURL='https://sqs.eu-west-1.amazonaws' - '.com/745437999005/slack-bot.fifo') -inst.receiveMessage() +inst = receiveFromSQS.createSession( + profileName='plex-aws', + queueURL='https://sqs.eu-west-1.amazonaws' + '.com/745437999005/slack-bot.fifo', +) +inst.getQueueLength() diff --git a/slack-bot/traffic-scraper/prd/sendToSQS.py b/slack-bot/traffic-scraper/prd/sendToSQS.py index 0ffab11..332c79e 100644 --- a/slack-bot/traffic-scraper/prd/sendToSQS.py +++ b/slack-bot/traffic-scraper/prd/sendToSQS.py @@ -47,4 +47,4 @@ instM = getTrafficInfo.getTrafficURL('M62').findIncidents() \ .getIncidentInformation().generateOutput() for item in instM.output: - inst.sendMessage(message=item, messageGroupId='slack-bot-M62', dedup=True) + inst.sendMessage(message=item, messageGroupId='slack-bot-M62')