Heroku上的Resque优化
我在Heroku上使用Resque进行大量数据处理 使用NewRelic,我看到我的任务使用了15%的CPU共享和每个实例50mo的RAM 我可以用一个dyno处理5个工作 但我不知道怎么做 我试图在procfile中使用COUNT=5,但似乎不起作用。此外,重新查询不会以这种方式看到失败的作业Heroku上的Resque优化,heroku,sinatra,resque,Heroku,Sinatra,Resque,我在Heroku上使用Resque进行大量数据处理 使用NewRelic,我看到我的任务使用了15%的CPU共享和每个实例50mo的RAM 我可以用一个dyno处理5个工作 但我不知道怎么做 我试图在procfile中使用COUNT=5,但似乎不起作用。此外,重新查询不会以这种方式看到失败的作业 任何人都知道怎么做吗?您需要对proc文件做几件事 首先添加COUNT环境变量,然后将命令从resque:work更改为resque:workers 这里有一个例子 resque: env TERM_C
任何人都知道怎么做吗?您需要对proc文件做几件事 首先添加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个作业正在同时处理。此解决方案的问题是,如果其中一个作业失败,resque Retry不会将其发送到重试队列。此外,其中一个过程可能会在你没有注意到的情况下死亡。这显然是一种不好的做法:/