Closed dxinli closed 15 hours ago
All modified and coverable lines are covered by tests :white_check_mark:
🚨 Try these New Features:
我看到了你在#82那个issue下的回复。抱歉回复有些晚了。
我认为此处没有必要去为每一套配置加一个超时时间,这个超时时间看起来只会在启动时的健康检查去使用。如果只有健康检查在使用,那么一个写死的值就可以了。当一个服务依赖etcd,服务启动时etcd在写死的时间内都没有响应,那么认为这个服务异常,启动失败都是可以的。
如果想加一个配置项,可以在更高的维度去加,例如在整个app配置中,增加一个healthCheckTimeout
这样的字段(名字我随便起的),在服务启动时进行健康检查时使用这个配置项作为超时时间即可
好的,我也认为没必要在每套配置中提供这么一个配置值,在APP中添加的话,从目前的需求来说感觉还没必要,那就直接写死吧,如果后续出现更多各服务需要相关的配置的话,在做调整
我已经删除了 etcd 的 Config 的timeout配置,并将超时设置为常量3s
Link to an issue
related issue #82
What
etcd config 添加了 timeout 配置, IsHealth 方法在 Get health key 的 context 添加对应的超时设置
How
etcd config 添加属性以及方法,如果配置无效,则方法会返回默认值 3s,在IsHealth客户端调用前获取config,并调用其方法获取 timeout 配置,并最后根据 timeout 创建 context,传入 Get
Screenshots
How to test
config.yaml 添加对应的 timeout 配置,并停止 etcd 服务,程序将出现超时
Checklist
rebase
to confirm that current branch doesn't conflict with main branch.guidelines.md
which used to describe how to build, deploy and use DouTok.