为了避免这种情况发生,可以在队列名称中添加项目名称或其他前缀来唯一标识每个队列,例如:
在项目1中: queue_name = "project1_queue"
在项目2中: queue_name = "project2_queue"
这样,两个项目中的同名消费者订阅同一队列就会变成不同项目中的消费者订阅不同的队列了。
具体的代码实现就根据具体的消息队列中间件来确定了。以RabbitMQ为例,可以使用以下代码:
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) channel = connection.channel()
queue_name = "project1_queue" channel.queue_declare(queue=queue_name)
channel.basic_publish(exchange='', routing_key=queue_name, body='Hello World!')
connection.close()
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) channel = connection.channel()
queue_name = "project1_queue" channel.queue_declare(queue=queue_name)
def callback(ch, method, properties, body): print("Received message:", body)
channel.basic_consume(queue=queue_name, on_message_callback=callback, auto_ack=True)
print('Waiting for messages. To exit press CTRL+C')
channel.start_consuming()
上一篇:不同项目中使用相同的仓库名
下一篇:不同项目中相同的着色器效果不一样