Я работаю над проектом, который требует использования нескольких очередей rabbitmq.Одна из очередей требует, чтобы сообщения были отложены для обработки одновременно в будущем.Я заметил, что в документации к rabbmitmq есть новый плагин под названием RabbitMQ Delayed Message Plugin, который, кажется, разрешает эту функцию.В прошлом для проектов на основе rabbmitmq я использовал seneca-amqp-transport для добавления и обработки сообщений.Проблема в том, что я не видел никакой документации для seneca или не смог найти никаких примеров, описывающих, как добавить свойства заголовка.
Кажется, мне нужно сначала убедиться, что очередь создана с типом x-delayed.Кроме того, поскольку каждое сообщение добавляется в очередь, мне необходимо убедиться, что параметр заголовка x-delay добавлен к сообщению перед его отправкой в rabbbitmq.Есть ли способ передать этот параметр, x-delay, с помощью seneca-amqp-transport?
Вот мой текущий код для добавления сообщения в очередь:
return new Promise((resolve, reject) => {
const client = require('seneca')()
.use('seneca-amqp-transport')
.client({
type: 'amqp',
pin: 'action:perform_time_consuming_act',
url: process.env.AMQP_SEND_URL
}).ready(() => {
client.act('action:perform_time_consuming_act', {
message: {data: 'this is a test'}
}, (err, res) => {
if (err) {
reject(err);
}
resolve(true);
});
});
}
ВПриведенный выше код, куда пойдут данные, связанные с заголовком?