-1
這次可以在RabbitMQ中爲呼叫處理程序存儲時間嗎? RabbitMQ是否支持這個?RabbitMQ是否支持按時間從隊列中執行進程?
這次可以在RabbitMQ中爲呼叫處理程序存儲時間嗎? RabbitMQ是否支持這個?RabbitMQ是否支持按時間從隊列中執行進程?
是的,它支持,但只能通過額外的插件。
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
值與毫秒後應該處理此消息。
也許你可以推薦我另一種Python的替代機制?當用戶可以將事件(日期)放入隊列以便進一步執行時? – Oleg
如何從存儲中獲取日期並將其添加到Countdown EAT中?每次沒有停止時需要ping數據庫? – Oleg
這樣你建議不支持datetime格式的延遲時間,只需要幾毫秒 – Oleg