This commit is contained in:
Fu Diwei
2025-07-15 12:06:01 +08:00
committed by RHQYZ
parent 737bcb2566
commit f18f290795
@@ -300,6 +300,33 @@ func (d *SSLDeployerProvider) deployToRuleDomain(ctx context.Context, cloudCertI
return fmt.Errorf("failed to execute sdk request 'clb.ModifyDomainAttributes': %w", err)
}
// 循环查询异步任务状态,等待任务状态变更
// REF: https://cloud.tencent.com/document/product/214/30683
for {
select {
case <-ctx.Done():
return ctx.Err()
default:
}
describeTaskStatusReq := tcclb.NewDescribeTaskStatusRequest()
describeTaskStatusReq.TaskId = modifyDomainAttributesResp.Response.RequestId
describeTaskStatusResp, err := d.sdkClients.CLB.DescribeTaskStatus(describeTaskStatusReq)
d.logger.Debug("sdk request 'clb.DescribeTaskStatus'", slog.Any("request", describeTaskStatusReq), slog.Any("response", describeTaskStatusResp))
if err != nil {
return fmt.Errorf("failed to execute sdk request 'clb.DescribeTaskStatus': %w", err)
}
if describeTaskStatusResp.Response.Status == nil || *describeTaskStatusResp.Response.Status == 1 {
return errors.New("unexpected task status")
} else if *describeTaskStatusResp.Response.Status == 0 {
break
}
d.logger.Info("waiting for task completion ...")
time.Sleep(time.Second * 5)
}
return nil
}
@@ -335,6 +362,33 @@ func (d *SSLDeployerProvider) modifyListenerCertificate(ctx context.Context, clo
return fmt.Errorf("failed to execute sdk request 'clb.ModifyListener': %w", err)
}
// 循环查询异步任务状态,等待任务状态变更
// REF: https://cloud.tencent.com/document/product/214/30683
for {
select {
case <-ctx.Done():
return ctx.Err()
default:
}
describeTaskStatusReq := tcclb.NewDescribeTaskStatusRequest()
describeTaskStatusReq.TaskId = modifyListenerResp.Response.RequestId
describeTaskStatusResp, err := d.sdkClients.CLB.DescribeTaskStatus(describeTaskStatusReq)
d.logger.Debug("sdk request 'clb.DescribeTaskStatus'", slog.Any("request", describeTaskStatusReq), slog.Any("response", describeTaskStatusResp))
if err != nil {
return fmt.Errorf("failed to execute sdk request 'clb.DescribeTaskStatus': %w", err)
}
if describeTaskStatusResp.Response.Status == nil || *describeTaskStatusResp.Response.Status == 1 {
return errors.New("unexpected task status")
} else if *describeTaskStatusResp.Response.Status == 0 {
break
}
d.logger.Info("waiting for task completion ...")
time.Sleep(time.Second * 5)
}
return nil
}