我在Heroku的旧堆栈(Aspen和Bamboo)上使用了Delayed Job,但是使用新的(ish)Cedar堆栈,我想尝试一些更有效的方法。
我正在执行的特定后台工作是对不同运营商(UPS,FedEx,USPS等)的API调用,我通常每小时处理数千个。
我需要能够同时处理作业以快速通过队列。
最重要的是,我想尝试降低成本。在我以前使用延迟工作的堆栈中,我不得不加工工人,这会大大增加我的成本。
那么,在Heroku上,对我来说什么是一个很好的后台工作解决方案?
答案 0 :(得分:2)
新的Cedar堆栈允许您使用不同类型的调度程序和工作程序,例如Resque。您可以在cedar page。
中找到有关Procfile和新堆栈的更多详细信息另请注意,您可以根据负载轻松自动地调整工作人员。 Here's an example。通过这种方式,您只有在实际需要时才会支付工资。
答案 1 :(得分:1)
使用Unicorn在一个Dyno上运行多个工作进程可以提高并发性,同时减少所需的工作人员总数。通常每个dyno大约有3-4个独角兽工人表现最佳。