我有一个应用程序(ruby / rails)heroku。它正在运行1个Web和1个工作程序(例如) 我想能够告诉应用程序运行的dyno的“类型”。
我怀疑这是一件很简单的事情,但我看不出任何告诉我如何分辨的事情。
答案 0 :(得分:2)
我不知道是否有更优雅的方法来执行此操作,但您可以在Procfile中设置环境变量:
web: bundle exec ... PROC_TYPE=web
worker: bundle exec ... PROC_TYPE=worker
然后在rails代码中,您可以检查ENV ['PROC_TYPE']
编辑:更详细的Procfile示例,典型的rails应用程序:
web: bundle exec rails server -p $PORT PROC_TYPE=web
worker: bundle exec rake jobs:work PROC_TYPE=worker