上のキューからメッセージを一つ取る作業員がオフのとき、私はRabbitMQの中に私のキューに多くのメッセージを公開します。 そして、私は私の労働者を起動して、彼はキューからすべてのメッセージを受け取り、彼は正常に動作しているが、彼が終了する前に、私は私のワーカープロセスへを停止すると、すべてのメッセージがキューから削除されます。 私が同じ仕事を2番目に開始した場合、彼は取るべきメッセージがありません。RabbitMQのは、打ち上げ
$channel->queue_declare($action, false, false, false, false);
$channel->basic_qos(null, 1, null);
$channel->basic_consume($action, '', false, true, false, false, $callback);
私は私の作業者に行うことができますが、キューからのスタートに一つだけのメッセージを受け取り、労働者が停止して開始したとき、彼は彼が停止したキューからメッセージを受け取り続ける方法
?
それはよさそうだが、私はそのメッセージが消費された完全な情報を送り返すことができますどのように今を知りません。 –
@BartekPieczonka使用( 'basic.ack'コマンドに対応する)' bacic_ack'方法。 PHPライブラリのドキュメントはなんとなくわかりますが、異なるクライアント間でも同じ原理です。 ';([ 'delivery_tag'] delivery_info $ msg->)> basic_ack - [ 'チャンネル'] delivery_info https://www.rabbitmq.com/tutorials/tutorial-two-php.htmlと注意し' $ msg->を参照してください。 – user2864740
ええ、今、うまくいってくれてありがとう!あなたは素晴らしいです。 –