在Procfile中启动多个worker(开发环境vs Heroku)

fea*_*ool 5 ruby-on-rails heroku delayed-job foreman

我有一个简单的Procfile,内容如下:

web: bundle exec rails server thin -p $PORT
worker: bundle exec rake jobs:work
Run Code Online (Sandbox Code Playgroud)

在Heroku上,这将启动N个工作任务,其中N是我将其缩放的任何东西.

在我的开发系统上,

$ foreman start
Run Code Online (Sandbox Code Playgroud)

只会启动一个工作任务.如果我想启动三个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
Run Code Online (Sandbox Code Playgroud)

这是一个有点迂腐的问题,但如果我希望我的开发环境像我的Heroku环境一样,那么启动N个工作任务的最佳方法是什么?是批准的方法来创建(例如)Procfile_local并通过它使用它foreman -f Procfile_local

fea*_*ool 14

啊.谁会猜到有一个工头的在线手册?;)

foreman start --concurrency="web=0,worker=6"
Run Code Online (Sandbox Code Playgroud)

诀窍很好.无需单独的Procfile.