gpt4 book ai didi

go - 在新创建的对象上获取成功之前要等待多长时间?

转载 作者:行者123 更新时间:2023-12-01 22:40:42 25 4
gpt4 key购买 nike

如果我创建一个对象,我要等待多长时间才能获取成功?我不想添加具有任意值的 sleep 。

在下面的代码中,我尝试创建一个服务帐户和 Secret。然后我尝试立即获取它。

err := r.CreateSAandSecret()
if err != nil {
log.Info("Not able to create SA and secret ")
return "", err
}

// How long should the sleep be here ???
token, err := r.GetAuthorizationTokenfromSecret()
if err != nil {
log.Info("Not able to get token from secret")
}

如果有更好的模式,请指教。

最佳答案

没有单一的答案。从理论上讲,它应该总是在写入后读取,但是您在这里询问的是派生对象。这意味着您需要等待服务帐户 Controller 查看新对象并创建 token key 。 Controller 都使用由 etcd watch 驱动的 API watch 。虽然它通常很快,但无法保证任何特定的时间。
大多数情况下,它会在 etcd 的 iops 负载下减慢速度,或者如果您一次创建 500 万个服务帐户,大多数 Controller 一次处理一个。同样在拜占庭式故障期间,watch 可能会丢弃事件,这意味着它永远不会发生(直到您手动重新启动 Controller 或以其他方式触发协调)。

关于go - 在新创建的对象上获取成功之前要等待多长时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59871923/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com