i am trying to do the simplest form of job allocation:
i have a master sending messages out over a PUSH socket.
i have workers who have the PULL end of that socket. they set a hwm of 2 thusly:
sock = zmq_socket(ctxt, ZMQ_PULL);
sethwm(sock, 2)
zmq_connect(sock, addr)
now, everything is done evenly (each worker gets an equal number of jobs).
BUT, the master is NOT blocking as it should.
i believe that if there are n workers, then teh master should block after 2n
messages,
and then be able to send jobs as workers consume the messages.
the observed behaviour is that it sends all teh messages at once and never
blocks.
surely i am doing something wrong. but i can't see it.
what am i doing wrong?
andrew
(as an aside, the zmq_socket man page doesn't really cover the case
where a HWM is set on the PUSH side of teh socket; it certainly has an effect.
martin et al, what is the intended semantics?)
------------------
Andrew Hume (best -> Telework) +1 623-551-2845
[email protected] (Work) +1 973-236-2014
AT&T Labs - Research; member of USENIX and LOPSA
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev