有没有办法从应用程序中识别heroku dyno名称(例如web.1,web.2)?我希望能够生成一个唯一的请求ID(例如,跟踪web和worker dynos之间的请求,以便整合请求堆栈的整合记录),在我看来,dyno标识符将成为一个不错的起点.
如果无法做到这一点,是否有人有后备建议?
我问过Heroku支持这个问题,因为这里有其他人问过我的类似问题,我想我应该分享一下.Heroku工作人员JD回复了以下内容:
不,从dyno里面看不到这些信息是不可能的.我们之前已经审查过这个功能请求,并且选择不实现它,因为这会引入一个Heroku特定的变量,我们的目标是避免在我们的堆栈中.因此,我们没有计划实施此功能.
您可以在dyno启动时为您的环境生成/添加唯一标识符(例如UUID)以实现类似的结果,并且您可以通过在此时将其打印到您的日志来将其与您的应用程序的dynos相关联.如果您以后需要找到它,您可以检查该行的日志(当然,您需要使用Papertrail,Loggly等耗尽您的日志,或者您自己的服务器).
不幸的是,对于我的场景,UUID太长了(如果我想要这么大的数据,我会首先使用UUID来跟踪事物).但是得到官方答案仍然很好.
| 归档时间: |
|
| 查看次数: |
5020 次 |
| 最近记录: |