1

我在(ruby/rails)heroku上有一个应用程序。它正在运行 1 个网络和 1 个工作人员(例如)我希望能够知道应用程序正在运行的测功机的“类型”。

我怀疑这是一件简单的事情,但我看不到任何告诉我如何说的东西。

4

1 回答 1

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
于 2013-01-08T04:21:28.423 回答