![](/img/trans.png)
[英]How to add multiprocessing to consumer with pika (RabbitMQ) in python
[英]Multiple consumer Rabbitmq through multiprocessing
python新手。 我正在尝试为RabbitMQ客户端创建多个使用者。 我正在使用PIKA并尝试进行多处理。 似乎正在连接但无法维持循环。 你能帮忙吗? 代码的一部分还应注意通过回调的writer选项。
它应该开始循环并应该始终消耗
import multiprocessing import time import pika # this is the writer part def callback(ch, method, properties, body): print (" [x] %r received %r" % (multiprocessing.current_process(), body,)) time.sleep(body.count('.')) # print " [x] Done" ch.basic_ack(delivery_tag=method.delivery_tag) def consume(): credentials = pika.PlainCredentials(userid, password) parameters = pika.ConnectionParameters(url, port, '/', credentials) connection = pika.BlockingConnection( parameters=parameters) channel = connection.channel() channel.queue_declare(queue='queuename', durable=True) channel.basic_consume('queuename',callback) print (' [*] Waiting for messages. To exit press CTRL+C') channel.start_consuming() userid = "user" password = "pwd" url = "localhost" port = 5672 if __name__ == "__main__": workers = 5 pool = multiprocessing.Pool(processes=workers) for i in range(0, workers): pool.apply_async(consume) #Stay alive try: while True:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.