RabbitMQ 是否支持按时间从队列中执行进程?
Does RabbitMQ support execution of process from queue by time?
这次我可以在RabbitMQ 中存储时间用于调用处理程序吗? RabbitMQ 支持这个吗?
是的,支持,但只能通过额外的插件。
There is more dateiled about that
简单地说你需要安装rabbitmq-plugins enable rabbitmq_delayed_message_exchange
插件,并在你的消息中添加新的header:
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
毫秒值。
这次我可以在RabbitMQ 中存储时间用于调用处理程序吗? RabbitMQ 支持这个吗?
是的,支持,但只能通过额外的插件。
There is more dateiled about that
简单地说你需要安装rabbitmq-plugins enable rabbitmq_delayed_message_exchange
插件,并在你的消息中添加新的header:
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
毫秒值。