在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” IDString hostId = System.getenv("PS1")
编辑 2013年7月26日
根据Heroku changelog,本地环境变量DYNO
现在替换了PS
,后者替换了PS1
。
关于java - 您可以以编程方式访问当前的Heroku dyno ID/名称吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16372425/