[zeromq-dev] push/pull -- unusual workflow

Whit Armstrong armstrong.whit at gmail.com
Sat Oct 8 05:17:19 CEST 2011


I'm attempting to use the pipeline/ventilator pattern across multiple nodes.

Because the workers are potentially outside of our firewall, I need to
use connect rather than bind for the sink.

Part of the objective was to avoid having a 'master' node among the
workers, so each worker pulls on port 6000 and pushes on 6001.

On the client, I connect a push socket to all of the workers (on
6000), and I connect a pull node to all of the workers (on 6001).

The problem that I am having is that the pull socket on the client is
not receiving all of the results back.  My guess is that the pull
socket on the client is attempting to fair queue among the connected
workers, and if on worker takes a larger share of the jobs, then
potentially the pull socket blocks while waiting for more messages
from the other node.  Is that possible?

Is it possible to disable fair queuing for a pull socket?

Additionally, is it possible to print state information for a socket
(I need to determine a good way to prove or disprove this theory).

Thanks,
Whit



More information about the zeromq-dev mailing list