Hi guys,
I got one question here that I hit memory leak when using pyzmq
PUSH/PULL mode. I think something wrong in my code.
Let me clarify, I have one web service, and one TCP server, I use
Loadrunner to generate HTTP request to the web service. Then, web server
parses request and forwards task to TCP server. I use ZeroMQ between Web
server and TCP server...and, as http requests from loadrunner are going on,
memory usage of TCP server increases. What's more, after all requests are
handled, memory is not released.
Here is the code snippet:
receiver at TCP server side:
def startHttpConn_push_pull():
"""
{'msg_content': {u'message': u'{"command":true}'}, 'targets':
[u'b0_aa_36_1c_dd_37'], 'msg_type': '2'}
msg_format = '{"msg":\"%s\","id":%s,"flag":"*#*"}'
"""
context = zmq.Context()
responser = context.socket(zmq.PULL)
responser.bind("tcp://%s:%s" %
(settings.device_server_ip,settings.for_http_port))
logger.log(20,'httpMQ started...')
while True:
# Wait for next request from client
message = responser.recv_json()
if debug or settings.deviceserver_log_debug:
logger.log(10,"Received PSG request: %s " % str(message))
pushToDevice(json.dumps(message))
And, sender at web service side:
def sendPushSig_push_pull(self,deviceserver,port,msg_dict):
context = zmq.Context()
requester = context.socket(zmq.PUSH);
requester.connect("tcp://%s:%s" % (deviceserver,port))
requester.send_json(msg_dict)
logger.log(20,'Send to %s:%s;msg:%s' %
(str(deviceserver),str(port),str(msg_dict)))
requester.close()
context.term()
Anything wrong?
Thanks.
Wesley
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev