首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby中的监听器: Bunny Gem或AMQP gem

Ruby中的监听器: Bunny Gem或AMQP gem
EN

Stack Overflow用户
提问于 2013-09-23 22:06:54
回答 1查看 1.3K关注 0票数 3

我想在Ruby中创建一个监听器,它将每半小时从一个通道读取消息。我不知道该使用哪个Gem:Bunny (https://github.com/ruby-amqp/bunny)还是AMQP (http://rubyamqp.info)?我知道Bunny很容易使用。但这能解决我的目的吗?

EN

回答 1

Stack Overflow用户

发布于 2014-04-07 05:44:21

你的脚本将如何被触发?有问题的卷是什么?处理是按顺序进行还是在某种基于事件的系统中进行?这两个库本质上是相同的-除了一个核心差异。

Bunny用于顺序处理。在检索下一条消息之前,从队列中弹出一条消息,对其进行处理然后进行确认。要进行扩展,您应该使用线程或进程一次处理更多消息。

AMQP gem是基于事件的,并在EventMachine反应器中运行。这非常适合RabbitMQ或其他外部服务成为瓶颈的轻型工作负载。使用AMQP gem,消费者将使用尽可能多的消息(或被告知),并为每条消息发出单独的回调。如果回调进行自己的网络调用,这可能是最好的解决方案,因为它允许Ruby最有效地交织网络通信。

简短的总结,但基本上对于一个很少运行的脚本,我建议使用Bunny的顺序性质,特别是如果您以前没有使用过EventMachine。如果不知道你的工作量,就很难完整地回答。

看看jondot/sneakers上现成的兔子框架吧。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18961365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档