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?
For example:
worker: node capture.js
worker: node process.js
worker: node purge.js
web: node api.js
web: node web.js
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