baash05
baash05

Reputation: 4516

Heroku/ruby on rails... how can I figure out if I'm running as a worker or a web

I have an app on (ruby/rails) heroku. It's running 1 web and 1 worker (for example) I want to be able to tell what "type" of dyno the app is running under.

I suspect it's a simple thing to tell, but I can't see anything that tells me how to tell.

Upvotes: 2

Views: 304

Answers (1)

wless1
wless1

Reputation: 3549

I don't know if there's a more elegant way to do this, but you can set an environment variable in your Procfile:

web: bundle exec ... PROC_TYPE=web
worker: bundle exec ... PROC_TYPE=worker

Then in your rails code, you can check ENV['PROC_TYPE']

EDIT: more detailed Procfile example, typical for a rails app:

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

Upvotes: 3

Related Questions