This uses push/pull Manager pushes requests for votes and then receives responses on a different socket. Workers receive the requests on one socket and responses on a different socket. Should be able to use this whenever we have a task everyone must do (e.g. in auction, everyone must submit a bid). So the manager could send out requests for bids as well as the current standing of everyone. The workers could determine the bid and return the answer. Start zmqmanager.py and then zmqworker.py numworkers times