@@ -195,3 +195,55 @@ func startDescribeListenerProccessor(concurrent int) {
195195 }
196196 })
197197}
198+
199+ type DeleteListenerTask struct {
200+ Ctx context.Context
201+ Region string
202+ LbId string
203+ ListenerId string
204+ Result chan error
205+ }
206+
207+ func (t * DeleteListenerTask ) GetLbId () string {
208+ return t .LbId
209+ }
210+
211+ func (t * DeleteListenerTask ) GetRegion () string {
212+ return t .Region
213+ }
214+
215+ var DeleteListenerChan = make (chan * DeleteListenerTask , 100 )
216+
217+ func startDeleteListenerProccessor (concurrent int ) {
218+ apiName := "DeleteLoadBalancerListeners"
219+ StartBatchProccessor (concurrent , apiName , DeleteListenerChan , func (region , lbId string , tasks []* DeleteListenerTask ) {
220+ startTime := time .Now ()
221+ defer func () {
222+ clbLog .V (10 ).Info (fmt .Sprintf ("batch proccess %s performance" , apiName ), "cost" , time .Since (startTime ).String ())
223+ }()
224+ req := clb .NewDeleteLoadBalancerListenersRequest ()
225+ req .LoadBalancerId = & lbId
226+ for _ , task := range tasks {
227+ req .ListenerIds = append (req .ListenerIds , & task .ListenerId )
228+ }
229+ client := GetClient (region )
230+ resp , err := client .DeleteLoadBalancerListeners (req )
231+ LogAPI (nil , apiName , req , resp , err )
232+ if err != nil {
233+ for _ , task := range tasks {
234+ task .Result <- err
235+ }
236+ return
237+ }
238+ _ , err = Wait (context .Background (), region , * resp .Response .RequestId , apiName )
239+ if err != nil {
240+ for _ , task := range tasks {
241+ task .Result <- err
242+ }
243+ return
244+ }
245+ for _ , task := range tasks {
246+ task .Result <- nil
247+ }
248+ })
249+ }
0 commit comments