starting multiple workers in Procfile (development environment vs Heroku)

delayed-job, foreman, heroku, ruby-on-rails

Solution

Ah. Who would have guessed that there's an online man page for foreman? ;)

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

Does the trick nicely. No need to have a separate Procfile.

Problem

I have a simple Procfile that reads: ``` web: bundle exec rails server thin -p $PORT worker: bundle exec rake jobs:work ``` On Heroku, this will launch N worker tasks, where N is whatever I've scaled it to be. On my development system, ``` $ foreman start ``` will only launch one worker task. If I want to launch three workers, I need a Procfile that looks like: ``` 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 ``` This is a somewhat pedantic question, but if I want my development environment to behave like my Heroku environment, what's the best way to launch N worker tasks? Is the approved way to create (e.g.) Procfile_local and use it via `foreman -f Procfile_local`?

Original source