Heroku的后台工作解决方案?

时间:2011-09-13 19:29:51

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

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

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

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

最重要的是,我想尝试降低成本。在我以前使用延迟工作的堆栈中,我不得不加工工人,这会大大增加我的成本。

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

2 个答案:

答案 0 :(得分:2)

新的Cedar堆栈允许您使用不同类型的调度程序和工作程序,例如Resque。您可以在cedar page

中找到有关Procfile和新堆栈的更多详细信息

另请注意,您可以根据负载轻松自动地调整工作人员。 Here's an example。通过这种方式,您只有在实际需要时才会支付工资。

答案 1 :(得分:1)

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