我在(ruby/rails)heroku上有一个应用程序。它正在运行 1 个网络和 1 个工作人员(例如)我希望能够知道应用程序正在运行的测功机的“类型”。
我怀疑这是一件简单的事情,但我看不到任何告诉我如何说的东西。
我在(ruby/rails)heroku上有一个应用程序。它正在运行 1 个网络和 1 个工作人员(例如)我希望能够知道应用程序正在运行的测功机的“类型”。
我怀疑这是一件简单的事情,但我看不到任何告诉我如何说的东西。
我不知道是否有更优雅的方法可以做到这一点,但您可以在 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