Beispiel #1
0
class QueueMaster:
    def __init__(self, queue_host, queue_port):
        self.queues = {}
        self._client = FanoutClient(self.envelope_received)
        self._client.connect( queue_host, queue_port )

    def get(self, name):
        return self.queues.setdefault(name, Queue(master=self, name=name))
    
    def envelope_received(self, envelope_data):
        try:
            envelope = jsonloads(envelope_data)
            self.get( envelope['to'] ).envelope_received(envelope)
        except:
            traceback.print_exc()
    
    def _send_envelope(self, msg):
        self._client.yell( jsondumps(msg) )
    
    def kill_queue(self, name):
        try:
            del self.queues[name]
        except:
            pass
Beispiel #2
0
 def __init__(self, queue_host, queue_port):
     self.queues = {}
     self._client = FanoutClient(self.envelope_received)
     self._client.connect( queue_host, queue_port )