スレッドを許可しない別のアプリケーションからRabbitMQキューから送受信するPythonでコードを実行しています。 これは非常に初心者向けの質問ですが、メッセージがあるかどうかをチェックし、聞こえていないものがないかどうかチェックする可能性はありますか?このようなタスクの基本的な "Hello world"の例をどのように変更すればよいですか?現在、私はメッセージを受け取ったら消費を止めることができましたが、メッセージがなければ私のメソッドはreceive()を待っています。メッセージがない場合、強制的にそれを待たないでください。または、指定された時間だけ待ちますか?RabbitMQが存在する場合に1つのメッセージを消費して終了する
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は、キューの長さをチェックするための方法を持っていますか? –