def publisher(): port = "5556" server = zmq_server("99865", []) context = zmq.Context() socket = context.socket(zmq.PUB) socket.bind("tcp://*:%s" % port) #print "started subscriber, ", port def get_time(): return (datetime.datetime.utcnow() - datetime.datetime(2015,1,1)).total_seconds() def generate_random_message(): msg = {'owner': port, 'msg' : 'blah blah blah!', 'id' : str(uuid.uuid4()), # msg id 'type' : 'NORMAL', # 'NORMAL', 'ACK_TO_OWNER' 'send_time': get_time() } return msg time.sleep(2) # some time for establish connections for i in range(num_msgs): msg = generate_random_message() #print 'Msg is ' , msg socket.send("%s" % msg) #print "published ", msg # keep track of all message receiving time. #time.sleep(2) #status() #print 'msg', msg, 'has sent' while sum(server.msgs_acks.values()) < num_msgs*num_subs: #print len(n.msgs_stats.keys()) time.sleep(1) k = 0 mean = 0 for i in server.msgs_stats: k += 1 mean += server.msgs_stats[i] print num_subs, mean/num_msgs
import zmq import sys import time import uuid import datetime import ast from gossip import Node as zmq_server if __name__ == '__main__': port = "5556" if len(sys.argv) > 1: port = sys.argv[1] int(port) server = zmq_server("99865", []) context = zmq.Context() socket = context.socket(zmq.PUB) socket.bind("tcp://*:%s" % port) def get_time(): return (datetime.datetime.utcnow() - datetime.datetime(2015,1,1)).total_seconds() def generate_random_message(): msg = {'owner': port, 'msg' : 'blah blah blah!', 'id' : str(uuid.uuid4()), # msg id 'type' : 'NORMAL', # 'NORMAL', 'ACK_TO_OWNER' 'send_time': get_time() }