Сделайте сообщение кролика постоянным в PHP
Я использую http://www.php.net/manual/en/book.amqp.php для использования Rabbit на моем сервере.
У меня проблема с тем, чтобы мои сообщения были постоянными. Я устанавливаю обмен и очередь как AMQP_DURABLE
, но после перезапуска сервера очереди пусты. Похоже, что сообщения не сохраняются на диске.
Я публикую свои сообщения с помощью: http://www.php.net/manual/en/amqpexchange.publish.php
1 answers
Вам нужно установить сообщение как долговечное. То, что вы делаете сейчас, - это только установить обмен и очередь на долговечность, что именно и происходит.
Поэтому, чтобы сохранить ваши сообщения на диск, вам нужно установить для параметра delivery_mode значение 2
. Что означает именно это, durable
.
Взгляните на этот поток , чтобы увидеть его в действии (код, бесстыдно скопированный из ответа @Grzegorz Motyl):
$exchange->publish($text, $routingKey, null, array('delivery_mode' => 2));