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

标签 java heroku

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

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

最佳答案

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

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

此外,还有一个鲜为人知的 secret ,但您可以通过查看环境变量 PS1

的值来获取“web.1”、“web.2”id

String hostId = System.getenv("PS1")

编辑 2013 年 7 月 26 日

根据 Heroku changelog , 局部环境变量 DYNO 现在替换了 PS,后者替换了 PS1

关于java - 你能以编程方式访问当前的 Heroku dyno id/name 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16372425/

相关文章:

java - 查找错误 - "close() invoked on a value that is always null"

django - Heroku 上的家中没有文件

django - 在 Heroku 中编辑本地安装的包后,它会重置

python - 在 django 1.8 部署期间提供媒体文件

django - Heroku 推送被拒绝,无法与供应商通信,请稍后重试

java - Heroku java.lang.UnsupportedClassVersionErrorUnsupported Major.minor 版本 51.0

java - Spring Web应用程序将文件保存到服务器

java - 如何修剪字符串的特定部分的这一行

java - Spring 3.0 MVC :Redirect without parameters being added to my url

java - 在 RStudio 中使用 RWeka M5P 会产生 java.lang.NoClassDefFoundError : no/uib/cipr/matrix/Matrix