Skip to content

Commit b51cf5d

Browse files
committed
性能优化:绑定 rs 时无需等待任务成功
BatchRegisterTargets 接口为同步任务,无须调用 DescribeTaskStatus 查询任务状态,移除这个查询,每次绑定 rs 时可减少一次 API 调用 Signed-off-by: roc <[email protected]>
1 parent 33fdeb7 commit b51cf5d

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

pkg/clb/batch-target.go

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import (
55
"fmt"
66

77
clb "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb/v20180317"
8-
"github.com/tkestack/tke-extend-network-controller/pkg/util"
98
)
109

1110
type RegisterTargetTask struct {
@@ -50,14 +49,20 @@ func startRegisterTargetsProccessor(concurrent int) {
5049
return
5150
}
5251
if len(res.Response.FailListenerIdSet) > 0 {
53-
err := fmt.Errorf("register targets failed for %s", util.ConvertPtrSlice(res.Response.FailListenerIdSet))
52+
failedMap := make(map[string]bool)
53+
for _, listenerId := range res.Response.FailListenerIdSet {
54+
failedMap[*listenerId] = true
55+
}
5456
for _, task := range tasks {
55-
task.Result <- err
57+
if failedMap[task.ListenerId] {
58+
task.Result <- fmt.Errorf("register target failed (%s/%s)", task.LbId, task.ListenerId)
59+
} else {
60+
task.Result <- nil
61+
}
5662
}
5763
} else {
58-
_, err = Wait(context.Background(), region, *res.Response.RequestId, apiName, DefaultWaitInterval)
5964
for _, task := range tasks {
60-
task.Result <- err
65+
task.Result <- nil
6166
}
6267
}
6368
})

0 commit comments

Comments
 (0)