Browse Source

Fix ticker leak in campaign manager message push

Kailash Nadh 5 years ago
parent
commit
c2613d1030
1 changed files with 4 additions and 1 deletions
  1. 4 1
      internal/manager/manager.go

+ 4 - 1
internal/manager/manager.go

@@ -157,9 +157,12 @@ func (m *Manager) AddMessenger(msg messenger.Messenger) error {
 
 // PushMessage pushes a Message to be sent out by the workers.
 func (m *Manager) PushMessage(msg Message) error {
+	t := time.NewTicker(time.Second * 3)
+	defer t.Stop()
+
 	select {
 	case m.msgQueue <- msg:
-	case <-time.After(time.Second * 3):
+	case <-t.C:
 		m.logger.Println("message push timed out: %'s'", msg.Subject)
 		return errors.New("message push timed out")
 	}