def consume(self):
def worker(event, message):
page_id = event['recipient']['id']
bot_class, bot_args = self.get_bot(page_id)
p = Process(target=spawn_bot_amqp, args=(bot_class, bot_args,
self.transport, self.send_exchange,
self.send_queue, event, message))
p.start()
def stop_worker(signum, frame):
p.terminate()
p.join()
signal.signal(signal.SIGTERM, stop_worker)
exchange = Exchange(self.exchange, 'direct', durable=True)
queue = Queue(self.queue, exchange=exchange, routing_key=self.queue)
with Connection(self.transport) as conn:
with conn.Consumer(queue, callbacks=[worker]) as consumer:
while True:
conn.drain_events()
评论列表
文章目录