你能以编程方式访问当前的Heroku dyno id/name吗?

Jon*_*nik 10 java heroku

在Heroku上,您可以在应用程序中以编程方式获取当前正在执行代码的dyno的某种标识符吗?例如,dyno名称(例如"web.1"或"worker.1")或其他一些id.

如果是,如何在Java中执行此操作?

Nit*_*ked 9

总是有机器的主机名(看起来像d.LONG_GUID.我想(虽然没有尝试)这应该工作:

String localhostname = java.net.InetAddress.getLocalHost().getHostName();

另外,一个鲜为人知的秘密,但你可以通过查看环境变量的值来获取"web.1","web.2"id PS1

String hostId = System.getenv("PS1")

编辑 2013年7月26日

根据Heroku更改日志,本地环境变量DYNO现在替换PS,替换PS1.

  • 好提示!我想你的意思是“PS”(不是“PS1”,这是提示)。 (2认同)
  • @AurélienOoms这个值得一个单独的问题我猜.无论如何,它看起来像https://devcenter.heroku.com/articles/platform-api-reference#dyno-list或https://devcenter.heroku.com/articles/platform-api-reference#formation-list可能会做什么你要. (2认同)