在Procfile中启动多个worker(开发环境vs Heroku)
我有一个简单的Procfile,内容如下:
web: bundle exec rails server thin -p $PORT worker: bundle exec rake jobs:work
在Heroku上,这将启动N个工作任务,其中N是我将其缩放的任何东西。
在我的开发系统上,
$ foreman start
只会启动一个工作任务。 如果我想启动三个worker,我需要一个看起来像这样的Procfile:
web: bundle exec rails server thin -p $PORT worker: bundle exec rake jobs:work worker: bundle exec rake jobs:work worker: bundle exec rake jobs:work
这是一个有点迂腐的问题,但如果我希望我的开发环境像我的Heroku环境一样,那么启动N个工作任务的最佳方法是什么? 是批准的方法来创建(例如)Procfile_local并通过foreman -f Procfile_local
使用它?
啊。 谁会猜到有一个工头的在线手册 ? ;)
foreman start --concurrency="web=0,worker=6"
诀窍很好。 无需单独的Procfile。
最新的Foreman已将选项重命名为--formation
。
所以这是:
foreman start --formation="web=1,worker=2"
资源