【问题标题】:Solution for background jobs on Heroku?Heroku 后台作业的解决方案?
【发布时间】:2011-09-13 19:29:51
【问题描述】:

我在 Heroku 的旧堆栈(Aspen 和 Bamboo)上使用了 Delayed Job,但是对于他们新的(ish)Cedar 堆栈,我想尝试一些更高效的方法。

我正在执行的特定后台作业是对不同运营商(UPS、FedEx、USPS 等)的 API 调用,我通常每小时处理数千个。

我需要能够同时处理作业以快速通过队列。

除此之外,我还想尝试降低成本。在之前我一直使用延迟作业的堆栈中,我一直不得不提高工人的速度,这大大增加了我的成本。

那么,在 Heroku 上对我来说有什么好的后台工作解决方案?

【问题讨论】:

    标签: ruby-on-rails process heroku delayed-job resque


    【解决方案1】:

    新的 Cedar 堆栈允许您使用不同类型的调度程序和工作程序,例如 Resque。您可以在cedar page 中找到有关 Procfile 和新堆栈的更多详细信息。

    另请注意,您可以根据负载轻松自动地扩展工作人员。 Here's an example。这样,您只需在实际需要时才为工人付费。

    【讨论】:

    • 所以你是在建议 Resque?这就是我要问的......我的方案的最佳解决方案是什么?
    • 我目前正在使用 Resque 和 Delayed Job。他们都有自己的优点和缺点。使用哪一个取决于您的应用程序。
    • 根据我在原始帖子中提到的内容,有哪些优点/缺点?这就是我的意思...试图找出最适合我正在尝试做的事情的解决方案。
    • 你说 DJ 效率不高,但你没有说原因。到目前为止,DJ 是一个很好的解决方案。如果您有多个队列并且作业失败并不少见,则 Resque 会更好地工作。
    【解决方案2】:

    使用 Unicorn 在一台 Dyno 上运行多个工作进程可以提高并发性,同时减少所需工作人员的总数。通常每个测功机大约有 3 - 4 个独角兽工人可以提供最佳性能。

    【讨论】:

      猜你喜欢
      • 2022-06-13
      • 2011-08-02
      • 1970-01-01
      • 1970-01-01
      • 2013-08-03
      • 1970-01-01
      • 2012-06-18
      • 2021-12-23
      • 1970-01-01
      相关资源
      最近更新 更多