【问题标题】:Rails 3: Autoscaling workers in HerokuRails 3:在 Heroku 中自动缩放工人
【发布时间】:2011-06-04 10:22:41
【问题描述】:

在 Heroku 中使用 Rails 3 自动扩展 worker 的最佳方法是什么?

【问题讨论】:

    标签: ruby-on-rails rubygems ruby-on-rails-3 heroku


    【解决方案1】:

    还有guv 是开源的。如果不想自己运行,也可以使用as an add-on

    【讨论】:

      【解决方案2】:

      你应该看看这个website

      【讨论】:

      • 我查看了 Heroscale 并最初认为这是一个好主意,但现在我不相信有几个原因。首先,由于它是基于 SaaS 的,它必须通过他们的 gem 远程读取队列深度 - 但是如果您的站点负载很重,那么读取队列深度的请求可能会超时 - 也许他们会读取结果并且如果他们收到积压太深的信息,他们会自动缩放。此外,最低刷新间隔为 5 分钟,因此如果您突然加载,可能需要长达 5 分钟才能进行缩放。
      【解决方案3】:

      HireFire 是“扩展”工作人员的绝佳选择 - 允许您只为需要完成的工作量(精确到秒)支付费用。适用于延迟作业和救援。

      【讨论】:

        【解决方案4】:
        【解决方案5】:

        退房

        【讨论】:

          【解决方案6】:

          我正在使用无用的 gem,它对于我的开发目的似乎是可靠的(在 0 到 1 个工人之间进行缩放) 我尝试使用 heroscale.com,但该服务已关闭 2 个月,我对将我的 heroku 凭据留在如此年轻的服务上没有信心

          【讨论】:

            【解决方案7】:

            This branch of delayed_job works pretty well.如果你已经在你的应用中使用了delayed_job,那么它真的很容易实现。

            编辑: This gem should work in Rails 3根据this S.O thread.

            【讨论】:

            • 就我个人而言,我不确定,但我用 Rails 3 中的答案更新了答案。
            • 请注意,Workless 适用于 Cedar,而我不相信 HireFire gem 可以。
            • 我试过Workless。到目前为止,一切都很好。开箱即用,配置大约为零,而且是免费的。很满意,谢谢推荐。
            【解决方案8】:

            您可以调整 this gem 以检测何时有大量工作,然后扩大规模。

            【讨论】:

            • @Jack:是的,这就是为什么我说“你可以适应”它。
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2011-09-29
            • 2012-01-28
            • 1970-01-01
            • 2012-02-29
            • 1970-01-01
            • 2015-09-23
            • 1970-01-01
            相关资源
            最近更新 更多