Is there some way to configure multiple worker and/or web processes to run in the single Heroku app container? Or does this have to be broken up into multiple Heroku apps?
All processes must have unique names. Additionally, the names The only process that carries a significant name is the web
and worker
are insignificant and carry no special meaning.web
process, as stated in the Heroku docs:
The web process type is special as it’s the only process type that will receive HTTP traffic from Heroku’s routers. Other process types can be named arbitrarily. -- (https://devcenter.heroku.com/articles/procfile)
So you want a Procfile
like so:
capture: node capture.js
process: node process.js
purge: node purge.js
api: node api.js
web: node web.js
You can then scale each process separately:
$ heroku ps:scale purge=4