【问题标题】:Sinatra message QueueSinatra 消息队列
【发布时间】:2011-04-07 16:17:40
【问题描述】:

Starling 是一个很棒的(至少对于小型项目而言)和简单的消息队列,但是,它实际上并不管理或启动使用队列的工作人员。 Workling 对 Rails 项目执行此操作,但不适用于纯 ruby​​ 应用程序,也不适用于 Sinatra。

在我分叉工作之前,或者使用线程/分叉创建我自己的自定义工作之前,是否有另一个项目可以做到这一点?

【问题讨论】:

    标签: ruby sinatra message-queue starling-server


    【解决方案1】:

    看看resque。它与框架无关,包含 rake 任务以启动任意数量的工作人员来使用您的队列。它使用redis 列表作为队列后端,因此您需要安装和管理它。

    【讨论】:

    • 真的很好。由于这是为 Github 创建的,而且 Github 使用 Sinatra,因此它具有完整的 Sinatra 支持。尽管如此,我真的打算坚持使用 starling,因为我们不必管理 Redis 的 Erlang/OTP 依赖项,从 Resque 适应 worker (github.com/defunkt/resque/blob/master/lib/resque/worker.rb) 比更改 Workling 更容易。 Starling 最大的优势是您可以发送 ruby​​ 对象,而不仅仅是 json,而且它们会正确序列化/反序列化。好的:它是一个消息系统:不需要真实的对象作为消息,但它很好。
    • Redis 实际上是用 C 编写的,所以你不需要担心 Erlang。 Ubuntu 在其存储库中带有 redis,因此您可以从那里安装,但如果需要,从源安装非常简单。
    • 是的,我和 Erlang 中的 Riak 混淆了
    猜你喜欢
    • 2020-11-27
    • 2020-04-18
    • 2011-02-20
    • 2013-08-09
    • 2012-10-10
    • 2012-09-19
    • 2014-04-21
    • 2012-03-16
    • 2021-03-12
    相关资源
    最近更新 更多