AMQPLIB - NodeJS - Утверждение отложенной очереди в RabbitMQ - PullRequest
0 голосов
/ 23 ноября 2018

Я хочу assert a queue in lazy mode into existence через amqplib с использованием nodeJs.

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

Я попробовал следующее:

        let options = {
            durable: true,
            arguments: {},
            lazy: true, //doesnt work
            mode: "lazy" //doesnt work
        };
        if (job.highQueueLengthExpected) {
            options.arguments["x-queue-mode"] = "lazy"; //doesnt work
            options.arguments["queue-mode"] = "lazy"; //doesnt work
            options["x-queue-mode"] = "lazy"; //doesnt work
        }

        return ch.assertQueue(job.key, options).then(function (ok) {

Я checking the mode из очереди через HTTP API RabbitMQ, запустив

curl  -u guest:guest 'localhost:15672/api/queues/{vhostName}/{queueName}'

Для всех опций, которые япредоставить при утверждении очереди, mode comes back as default

1 Ответ

0 голосов
/ 12 марта 2019

queueMode: 'lazy'

у меня работает.В общем, я думаю, что ключи опций amqplib - это версии функций или опций amqp в верблюжьем корпусе с удаленным x-.Например, x-dead-letter-exchange в amqp равно deadLetterExchange в amqplib.

Это работает только с amqplib v0.5.3 и выше.

...