在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/名称吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16372425/

10-10 10:05