5

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

web: bundle exec rails server thin -p $PORT
worker: bundle exec rake jobs:work

在 Heroku 上,这将启动 N 个工作任务,其中 N 是我将其缩放到的任何值。

在我的开发系统上,

$ foreman start

只会启动一项工作任务。如果我想启动三个工作人员,我需要一个 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吗?

4

2 回答 2

14

啊。谁会猜到有foreman 的在线手册页?;)

foreman start --concurrency="web=0,worker=6"

把戏做得很好。无需单独的 Procfile。

于 2012-07-11T00:39:31.703 回答
4

最新的工头已将该选项重命名为--formation.

所以这是:

foreman start --formation="web=1,worker=2"

来源

于 2015-03-23T22:40:25.283 回答