【问题标题】:Rails 3 + Heroku + Delayed jobs - Help me understand!Rails 3 + Heroku + 延迟工作 - 帮助我理解!
【发布时间】:2011-06-04 10:06:27
【问题描述】:

我无法理解这篇文章:http://blog.darkhax.com/2010/07/30/auto-scale-your-resque-workers-on-heroku

我不太明白为什么当我延迟了 Heroku 提供的工作时我还需要 Redis + Resque。

根据我的理解,我仍然需要支付工人的工资,对吗?使用该解决方案的主要优势是什么?

问候。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 heroku delayed-job


    【解决方案1】:

    如果你不知道为什么需要 Resque,那么你就不需要它 ;)

    Resque 用于高可扩展性。对于较小规模的东西,delayed_job 很好,但是一旦你达到Github 的大小,你将需要像 Resque 这样的东西。如果delayed_job 对您有用,请继续使用它。在后台作业队列达到 30,000 左右之前,您无需担心更换它。

    【讨论】:

    • 好的,谢谢。另一方面,在 heroku 中自动缩放延迟作业的最佳方法是什么?
    • @donald 我从来没有使用过 Heroku,所以其他人必须使用那个。
    【解决方案2】:

    要使用延迟作业自动缩放 heroku 工作人员,您可以挂钩到 enqueue 和挂钩后,并使用 heroku api 查询/更新工作人员的数量。

    对于入队的最基本实现,检查是否有工作人员,如果没有,则添加工作人员。之后,检查是否还有其他延迟的作业,如果没有,则将工人减少到 0。

    显然,您可以通过扩展方式使其更加复杂。

    这是一个基本的实现:https://github.com/phaza/Heroku-Delayed-Job-Autoscale

    【讨论】:

      【解决方案3】:

      hirefireapp 是一个新的简单的自动扩展工作人员解决方案。

      它会根据队列大小(可配置)为您生成工作者,然后在不再需要它们时“解雇”它们。您为测功时间(精确到秒)和租用火力应用服务付费。从理论上讲,您也可以使用开源的hirefire gem 自行开发。

      如果您愿意,它还可以处理 Web 端的扩展,因此您可以根据当前延迟生成更多 Web dyno。

      【讨论】:

        【解决方案4】:

        您还可以使用 Hirefireapp.com 来监控和扩展您的应用程序

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-08-05
          • 1970-01-01
          • 2011-08-06
          • 2011-11-14
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多