2017-11-25 151 views

回答

1

是的,它支持,但只能通過額外的插件。

There is more dateiled about that

簡單地說,你需要安裝插件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值與毫秒後應該處理此消息。

+0

也許你可以推薦我另一種Python的替代機制?當用戶可以將事件(日期)放入隊列以便進一步執行時? – Oleg

+0

如何從存儲中獲取日期並將其添加到Countdown EAT中?每次沒有停止時需要ping數據庫? – Oleg

+0

這樣你建議不支持datetime格式的延遲時間,只需要幾毫秒 – Oleg