Есть ли способ проверить, существует ли задача или сообщение в очереди Rabbitmq? Идея состоит в том, чтобы исключить дублирование задач, идущих в очередь - PullRequest
0 голосов
/ 16 марта 2020

Я сохраняю имена файлов в задачах или сообщениях в очереди rabbitmq. Я хочу убедиться, что не существует дублирующейся задачи с таким же именем файла. Есть ли способ убедиться, что rabbitmq отклоняет дубликаты или хотя бы проверить, существует ли это имя файла или нет в очереди?

Ниже приведен код:

ch.assertQueue(insertImg, { durable: true }).then(() => {
ch.sendToQueue(insertImg, Buffer.from(zipFileName));
resolve();
})


ch.assertQueue(insertImg, { durable: true }).then(async () => {
await ch.prefetch(1);
return ch.consume(insertImg, async function (fileName) {}, { noAck: false });
});

1 Ответ

1 голос
/ 17 марта 2020

Содержимое очереди RabbitMQ не может быть легко проверено. Единственно возможным способом было бы извлечь все содержащиеся в нем сообщения и проверить их на стороне потребителя.

Если вы ищете дедупликацию сообщений, то есть плагин для удаления дублирующихся сообщений на брокер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...