Py学习  »  MQ

amqplib-nodejs-在rabbitmq中断言惰性队列

Sumit Maingi • 4 年前 • 1186 次点击  

我想 assert a queue in lazy mode into existence 通过使用nodejs的amqplib。

我知道我可以通过创建策略来做到这一点,但我不想这样做,因为在我们现有的环境中很难实现自动化。

我试过以下方法:

        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 通过rabbitmq的http api触发

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

对于我在断言队列时提供的所有选项, mode comes back as default

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/40057
 
1186 次点击  
文章 [ 1 ]  |  最新文章 4 年前
CivSiv
Reply   •   1 楼
CivSiv    5 年前

queueMode: 'lazy'

对我有用。一般来说,我认为amqplib选项键是amqp特性或选项的camel-cased版本。 x- 远离的。例如 x-dead-letter-exchange 在AMQP中是 deadLetterExchange 在amqplib中。

这只适用于amqplib v0.5.3及更高版本。