【发布时间】:2013-06-05 08:30:35
【问题描述】:
我正在使用 Resque 在 Heroku 上进行大量数据处理。
使用 NewRelic,我发现我的任务使用了 15% 的 CPU 份额和每个实例 50mo RAM。
我只用一个测功机就可以处理 5 个工作。
但我不知道该怎么做。
我尝试在 procfile 中使用 COUNT=5,但它似乎不起作用。此外,ResqueRetry 不会以这种方式看到失败的作业......
有人知道怎么做吗?
【问题讨论】:
我正在使用 Resque 在 Heroku 上进行大量数据处理。
使用 NewRelic,我发现我的任务使用了 15% 的 CPU 份额和每个实例 50mo RAM。
我只用一个测功机就可以处理 5 个工作。
但我不知道该怎么做。
我尝试在 procfile 中使用 COUNT=5,但它似乎不起作用。此外,ResqueRetry 不会以这种方式看到失败的作业......
有人知道怎么做吗?
【问题讨论】:
你需要对你的 Procfile 做几件事
首先添加 COUNT 环境变量,然后将命令从 resque:work 更改为 resque:workers
这是一个例子
resque: env TERM_CHILD=1 RESQUE_TERM_TIMEOUT=10 COUNT=2 QUEUE=* bundle exec rake resque:workers
我在 Heroku 上仅使用 1 个 resque dyno 测试了此解决方案,并看到我发送的 2 个作业一次得到处理。
【讨论】: