code: def start(self):
          
          if not self.initialized:
              raise Exception("Consumer not initialized (no Producer).")
          producer = self.producer
          context = zmq._Context()
          self.pull = context.socket(zmq.PULL)
          self.push = context.socket(zmq.PUSH)
          self.pull.connect('tcp://%s:%s' % (producer.host, producer.push_port))
          self.push.connect('tcp://%s:%s' % (producer.host, producer.pull_port))
          # TODO: notify the producer that this consumer's ready for work?
          self.listen()
docs: Start the consumer.  This starts a listen loop on a zmq.PULL socket,
          calling ``self.handle`` on each incoming request and pushing the response
          on a zmq.PUSH socket back to the producer.