-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlistener.py
39 lines (33 loc) · 916 Bytes
/
listener.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import boto3
import json
import sqlite3
import time
sqs = boto3.client('sqs')
queue_url = ''
conn = sqlite3.connect('play_stats.db')
c = conn.cursor()
while (True):
response = sqs.receive_message(
QueueUrl=queue_url,
AttributeNames=[
'SentTimestamp'
],
MaxNumberOfMessages=1,
MessageAttributeNames=[
'All'
],
WaitTimeSeconds=0
)
if 'Messages' in response:
message = response['Messages'][0]
data = json.loads(message['Body'])
t = (data['song_title'], data['uuid'], data['type'])
c.execute("INSERT INTO stats VALUES (?, ?, ?)", t)
conn.commit()
receipt_handle = message['ReceiptHandle']
sqs.delete_message(
QueueUrl=queue_url,
ReceiptHandle=receipt_handle
)
print('Received message: %s' % message["Body"])
time.sleep(1)