prevent resource leak (#1080)

This commit is contained in:
Shu xian 2020-01-03 21:31:47 +08:00 committed by Asim Aslam
parent 4e2339749c
commit 31362bc331

View File

@ -99,14 +99,22 @@ func (t *Task) Run(c task.Command) error {
// subscribe for the pool size // subscribe for the pool size
for i := 0; i < t.Options.Pool; i++ { for i := 0; i < t.Options.Pool; i++ {
// subscribe to work err := func() error {
subWork, err := t.Broker.Subscribe(topic, workFn, broker.Queue(fmt.Sprintf("work.%d", i))) // subscribe to work
subWork, err := t.Broker.Subscribe(topic, workFn, broker.Queue(fmt.Sprintf("work.%d", i)))
if err != nil {
return err
}
// unsubscribe on completion
defer subWork.Unsubscribe()
return nil
}()
if err != nil { if err != nil {
return err return err
} }
// unsubscribe on completion
defer subWork.Unsubscribe()
} }
// subscribe to all status messages // subscribe to all status messages