2011-10-05 64 views
1

如何使用procfile将--max-priority参数传递给delayed_job?使用procfile在Heroku上启动带有max-priority的delayed_job

在我EC2服务器开始delayed_job的,像这样的时候,我可以通过--max优先级参数:

脚本/ delayed_job的启动--max优先级5

现在我想迁移到Heroku使用他们的雪松堆栈,仍然需要--max-priority参数,但是当在proc文件中使用同一行时会失败。根据这个日志,这是因为Heroku不允许在使用script/delayed_job启动时访问delayed_job所需的/ tmp。

是否有另一种方法使用procfile启动delayed_job并传递最大优先级?

回答

1

我知道这是一个老问题

您可以在Procfile指定多个工人类型

worker:  bundle exec rake jobs:work 
worker-low: bundle exec rake jobs:work MAX_PRIORITY=5 

现在可以独立地扩展每个工人的类型;

heroku ps:scale worker=1 worker-low=10