On Oct 20, 2011, at 11:21 PM, James Thornton wrote: > On Thu, Oct 20, 2011 at 3:34 PM, James Thornton <[email protected]> > wrote: >> >> When I run it, sometimes it will print that it receives all 1000 >> messages, sometimes it will be ~300, sometimes more or less -- it's so >> intermittent as to how many messages it receives. >> >> I'm using pyzmq 2.1.9 with ZMQ 2.1.4 on Fedora. > > Putting a sleep(5) at the end of the client function causes the client > to remain open long enough for the socket to finish sending the > messages to the worker: > > https://gist.github.com/1302163 > > But LINGER is set to -1 on all sockets -- shouldn't that make each > socket hold message indefinitely? > > What's going on here?
Using LINGER is the proper way to solve this in conjunction with zmq_close() and zmq_term() as your code now does. Perhaps there was a bug with 2.1.4 (I don't recall... it's pretty old). Any chance you can retry with 2.1.10 and see if this behavior persists? I have similar code running under 2.1.10 and the LINGER works as expected. cr _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
