Tôi đang chạy mã trên python để gửi và nhận từ hàng đợi RabbitMQ từ một ứng dụng khác mà tôi không thể cho phép luồng. Đây là câu hỏi rất mới nhưng, có khả năng chỉ kiểm tra xem có tin nhắn không và nếu không có thì chỉ cần bỏ nghe? Làm thế nào tôi nên thay đổi ví dụ "Hello world" cơ bản cho nhiệm vụ đó? Hiện tại tôi đã quản lý để ngừng tiêu thụ nếu tôi nhận được một tin nhắn, nhưng nếu không có tin nhắn phương pháp của tôi nhận được() chỉ cần tiếp tục chờ đợi. Làm thế nào để buộc nó không phải chờ đợi nếu không có tin nhắn? Hoặc có thể chỉ chờ một lượng thời gian nhất định?RabbitMQ tiêu thụ một thông báo nếu tồn tại và thoát
import pika
global answer
def send(msg):
connection = pika.BlockingConnection(pika.ConnectionParameters())
channel = connection.channel()
channel.queue_declare(queue='toJ')
channel.basic_publish(exchange='', routing_key='toJ', body=msg)
connection.close()
def receive():
connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
channel = connection.channel()
channel.queue_declare(queue='toM')
channel.basic_consume(callback, queue='toM', no_ack=True)
global answer
return answer
def callback(ch, method, properties, body):
ch.stop_consuming()
global answer
answer = body
API ruby có một phương pháp để kiểm tra độ dài của hàng đợi .. có bạn kiểm tra các tài liệu python? –