45 lines
1 KiB
Python
45 lines
1 KiB
Python
"""
|
|
Record messages
|
|
"""
|
|
|
|
from dataclasses import dataclass
|
|
from typing import Any
|
|
import zmq
|
|
import random
|
|
import sys
|
|
import time
|
|
import json
|
|
import jsonlines
|
|
|
|
|
|
context = zmq.Context()
|
|
socket = context.socket(zmq.SUB)
|
|
|
|
socket.connect ("tcp://100.109.175.82:99173")
|
|
socket.setsockopt_string(zmq.SUBSCRIBE, "")
|
|
#print('connected')
|
|
# Subscribe to zipcode, default is NYC, 10001
|
|
#topicfilter = "10001"
|
|
#socket.setsockopt(zmq.SUBSCRIBE, topicfilter)
|
|
|
|
last = time.time()
|
|
|
|
with jsonlines.open('messages.jsonl', mode='w', flush=True) as writer:
|
|
while True:
|
|
string = socket.recv_string()
|
|
data = json.loads(string)
|
|
now = time.time()
|
|
msg = {
|
|
'data': data,
|
|
'offset': now - last
|
|
}
|
|
print(msg['offset'])
|
|
writer.write(msg)
|
|
last = now
|
|
|
|
#topic, messagedata = string.split()
|
|
#total_value += int(messagedata)
|
|
#print topic, messagedata
|
|
|
|
#print "Average messagedata value for topic '%s' was %dF" % (topicfilter, total_value / update_nbr)
|
|
|