标签: bunny

如何从 RabbitMQ 获取旧消息?

我使用 Bunny (Ruby) 发布 RabbitMQ 消息,如下所示:

x.publish("Message !"+n.to_s, :routing_key => 'mychannel')
Run Code Online (Sandbox Code Playgroud)

并像这样订阅:

    ch   = conn.create_channel
x    = ch.topic('fling',durable: true)
q    = ch.queue("")
q.bind(x, :routing_key => 'mychannel')


puts "Waiting for messages."
q.subscribe( :block => true) do |delivery_info, properties, body|
puts " [x] Received #{body}, message properties are #{properties.inspect}"
Run Code Online (Sandbox Code Playgroud)

一旦我启动订阅者,它就会立即接收发送的任何消息。但是,如果我在没有启动订阅者的情况下发送消息,则当我启动订阅者时不会收到消息(无论发送者是否仍在推送消息)。

当没有订阅者在监听时,是否可以返回队列并接收过去发送的消息?

rabbitmq bunny rabbitmq-exchange

5
推荐指数
1
解决办法
7506
查看次数

RabbitMQ 3.5.6 无法与任何配置的主机建立 TCP 连接 (Bunny::TCPConnectionFailedForAllHosts)

我正在尝试连接到 RabbitMQ 服务器,但总是收到以下错误:

W, [2015-12-08T15:38:01.993251 #37405]  WARN -- #<Bunny::Session:0x7fe07b894f78 guest@localhost:5672, vhost=/dev_prod, addresses=[localhost:5672]>: An empty frame was received while opening the connection. In RabbitMQ <= 3.1 this could mean an authentication issue.
Run Code Online (Sandbox Code Playgroud)

.../.rvm/gems/ruby-2.1.2/gems/bunny-2.2.0/lib/bunny/session.rb:315:in `rescue in start': Could not establish TCP connection to any of the configured hosts (Bunny::TCPConnectionFailedForAllHosts)
Run Code Online (Sandbox Code Playgroud)

我在 MAC 操作系统上使用 Ruby 2.1.2、RabbitMQ 3.5.6。抱歉,我是 RabbitMQ 的新手,只是尝试使用它,但无法解决问题。请给我一些建议。

ruby-on-rails rabbitmq bunny

5
推荐指数
1
解决办法
7843
查看次数

在RabbitMQ主题交换中路由与模式不匹配的消息

使用以下路由密钥将两个队列绑定到主题交换:

队列A,与路由密钥模式匹配*.foo
队列B绑定,绑定路由密钥模式匹配*.bar

我想在此交换中添加第三个队列,它接收既不是foo消息也不是消息的bar消息.如果我绑定此队列与#路由关键,我自然会得到我所需要的所有信息,但包括foo的和bar的,我不想要的.

有没有办法路由邮件修补模式NOT *.fooAND NOT *.bar

amqp rabbitmq mq bunny

4
推荐指数
1
解决办法
2703
查看次数

如何让 Bunny 使用 RabbitMQ 一次处理一条消息?

当我使用 Bunny 时,当我使用以下命令打开到包含 50,000 条消息的队列的连接时:

queue = channel.queue('test.queue', :durable => true)
queue.subscribe(:manual_ack => true) do ...
Run Code Online (Sandbox Code Playgroud)

RabbitMQ 立即将所有消息从 移动READYUNACKED,从而不会在 中留下任何消息READY

如果我尝试使用相同的代码启动另一个兔子,它现在没有任何可读取的内容READY

我错过了一些明显的东西吗?

ruby rabbitmq bunny

0
推荐指数
1
解决办法
264
查看次数

标签 统计

bunny ×4

rabbitmq ×4

amqp ×1

mq ×1

rabbitmq-exchange ×1

ruby ×1

ruby-on-rails ×1