Heroku的Resque优化

时间:2013-04-07 21:42:51

标签: heroku sinatra resque

我在Heroku上使用Resque进行大量数据处理。

使用NewRelic,我发现我的任务使用了15%的CPU份额和每个实例50mo RAM的东西。

我只能使用一个dyno处理5个作业。

但我不知道该怎么做。

我试图在proc文件中使用COUNT = 5,但它似乎不起作用。此外,ResqueRetry不会以这种方式看到失败的工作......

有人会知道怎么做吗?

1 个答案:

答案 0 :(得分:0)

您需要对Procfile执行一些操作

首先添加COUNT环境变量,然后将命令从resque:work更改为resque:workers

这是一个例子

resque: env TERM_CHILD=1 RESQUE_TERM_TIMEOUT=10 COUNT=2 QUEUE=* bundle exec rake resque:workers

我只用1个resque dyno在Heroku上测试了这个解决方案,看到我发送的2个作业一次处理。