问题标签 [bunny]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
rabbitmq - 使用兔子,连接到现有队列时如何设置 x-max-length
我有以下 ruby 函数来连接到现有的兔子队列,max_length
值为 10000
调用时,返回此错误:
兔子版本:2.0.1 Ruby 版本:2.3.1
我已经尝试了各种参数,ch.queue
但找不到设置最大队列长度值的方法。
欢迎提出建议。
ruby-on-rails - RabbitMq:消息处理期间发生异常时从队列中丢失消息
我是 ruby on rails 开发人员。我在我的项目中使用 rabbitMQ 来处理一些数据,一旦数据进入队列。我正在使用 bunny gem 一个 rabbitMQ 客户端,它提供与 RabbitMq 交互的接口。
我的问题是,每当在处理来自队列的数据时发生异常或服务器意外停止时,我来自队列的消息都会丢失。
我想知道人们如何处理 rabbitMQ 队列中丢失的消息。有什么方法可以让这些消息返回进行处理。
ruby-on-rails - RabbitMq(bunny): Rabbitmq 从队列中删除消息。确认不起作用
我正在处理来自我的 rabbitMQ 的记录。为了避免来自rabbitMQ的消息丢失,我正在使用rabbitMQ确认策略。出于测试目的,我在我向 rabbitMQ 回馈确认的代码之前提出了异常。根据我编写的代码 rabbitMQ 不应该从队列中删除消息,直到我的代码中的行,即“c.ack(delivery_info.delivery_tag)”被执行。下面是我的代码
请帮助我理解为什么即使“c.ack(delivery_info.delivery_tag)”行没有执行,rabbitMQ 也会从队列中删除消息。
ruby-on-rails - Rspec 3存根类变量
任何人都知道,我如何存根类变量初始化?
我定义
用于限制连接数,但现在我必须对其进行测试,并且当我尝试以一般方式存根时,例如
它不起作用。@@
变量提前初始化。
另外,我可以重新定义它:
但它不适合我,因为我必须不允许创建到 AMQP 的连接
解决
我不知道该怎么做,所以我使用了 bunny-mock,它帮助了我
ruby-on-rails - 我们如何使用 Bunny gem 和 RabbitMQ 设置延迟排队?
我已经设置了 RabbitMQ,并且能够立即从 Rails 应用程序中发布和使用带有 bunny gem 的消息。在发布到 RabbitMQ 交换器时,我们如何以每条消息的预定义延迟时间实现延迟排队?
ruby - RabbitMQ 不断堆叠未确认的消息,尽管它们被拒绝或确认
我下面的 Ruby 代码处理 RabbitMQ 事件。我正在为 Ruby 和运动鞋 gem使用 Bunny 。尽管我认为我正在对所有可能的事件采取行动,但本地频道中充斥着未确认的消息。每次日志显示如下内容时都会发生这种情况:
这是我的 Ruby 代码:
我的reject!
大概有什么问题?有点卡住了几个小时。我试图改变所有reject!
,ack!
但似乎没有任何帮助。
也许我使用rescue
了错误的方式?
ruby-on-rails - RabbitMQ 订阅限制预取的消息数量
我正在使用ruby on railsrabbitmq
之间进行通信。microservices
每个服务订阅一个topic
. 所有服务都scaled
根据需要作为多个实例运行。
在订阅期间从队列进入bunny
状态。这使得其他扩展实例只是空闲,因为状态中没有消息。all the messages
unacked
ready
有没有办法限制订阅可以获取的消息数量,以便其他实例可以从队列中获取剩余的消息。
ruby-on-rails - 是否可以从延迟作业调用 Bunny::Exchange 发布?
我有一个 Rails 应用程序,有时使用 gem“Bunny”将消息发布到 RabbitMQ 队列。这是设置:
然后我可以在应用程序中的任何地方调用:
如果我从应用程序或控制台调用它,这很好用,但如果从 DelayedJob 作业调用它就不起作用。没有引发异常,但只是没有发送消息。
尝试单例:
看起来像$mq_channel
DelayedJob 找不到全局变量,所以我创建了一个单例模型来存储它:
我从我的初始化程序调用设置:
但这也行不通。作业终止且没有错误,但没有发布任何内容。
知道怎么做吗?从 DJ 之类的后台工作人员向 RabbitMQ 发布消息应该很常见。
ruby-on-rails - RabbitMQ 不使用循环向消费者发送消息
我有一个充当生产者的 Ruby 应用程序,如下所示:
我还有一个消费者应用程序,它产生 2 个工人(消费者)
它工作得很好,但我两次收到相同的消息(在两个消费者身上)。我认为默认情况下,rabbitmq 会使用循环方式将消息发送给消费者,但即使使用预取选项,我也会收到 2 条消息。
我错过了什么吗?