以下に定義されている関数があります。
public function subscribe($someQueue)
{
$callback = function($msg){
return $msg->body;
};
$this->channel->basic_consume( $someQueue, '', FALSE, TRUE, FALSE, FALSE, $callback);
while(count($this->channel->callbacks)) {
$this->channel->wait();
}
}
私は次の機能を使用しています:
注: 次の行は別のクラス ファイルにあるため、上記の関数を含むクラスのオブジェクトを作成します。
$objRMQ = new RabbitMQ();
$msgBody = $objRMQ->subscribe("someQueue");
echo "message body returned from someMethod: ".$msgBody;
基本的に、すべてのメッセージの本文を、キューに発行された呼び出し元関数に返したいと考えています。
現在の出力:
message body returned from subscribe: NULL
期待される出力:
holla, this is your message from queue