Поддерживает ли RabbitMQ выполнение процесса из очереди по времени?

Могу ли я хранить время в RabbitMQ для обработчика вызовов в это время? RabbitMQ поддерживает это?

1 ответ

Решение

Да, это поддерживается, но только через дополнительный плагин.

Есть более датированный об этом

Просто сказать, что вам нужно установить rabbitmq-plugins enable rabbitmq_delayed_message_exchange и добавьте новый заголовок к вашему сообщению:

byte[] messageBodyBytes = "delayed payload".getBytes();
AMQP.BasicProperties.Builder props = new AMQP.BasicProperties.Builder();
headers = new HashMap<String, Object>();
headers.put("x-delay", 5000);
props.headers(headers);
channel.basicPublish("my-exchange", "", props.build(), messageBodyBytes);

Так что нужно поставить x-delay значение в миллисекундах после обработки этого сообщения.

Другие вопросы по тегам