Сделайте сообщение кролика постоянным в PHP


Я использую http://www.php.net/manual/en/book.amqp.php для использования Rabbit на моем сервере. У меня проблема с тем, чтобы мои сообщения были постоянными. Я устанавливаю обмен и очередь как AMQP_DURABLE, но после перезапуска сервера очереди пусты. Похоже, что сообщения не сохраняются на диске.

Я публикую свои сообщения с помощью: http://www.php.net/manual/en/amqpexchange.publish.php

Author: halfer, 2014-02-03

1 answers

Вам нужно установить сообщение как долговечное. То, что вы делаете сейчас, - это только установить обмен и очередь на долговечность, что именно и происходит.

Поэтому, чтобы сохранить ваши сообщения на диск, вам нужно установить для параметра delivery_mode значение 2. Что означает именно это, durable.

Взгляните на этот поток , чтобы увидеть его в действии (код, бесстыдно скопированный из ответа @Grzegorz Motyl):

$exchange->publish($text, $routingKey, null, array('delivery_mode' => 2));
 1
Author: Daniel Figueroa, 2017-05-23 11:51:53