From c2613d1030dd45b27267983052bdde46fd1c281f Mon Sep 17 00:00:00 2001 From: Kailash Nadh Date: Mon, 6 Jul 2020 20:29:19 +0530 Subject: [PATCH] Fix ticker leak in campaign manager message push --- internal/manager/manager.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/internal/manager/manager.go b/internal/manager/manager.go index 0c6e7b2..c2b08fa 100644 --- a/internal/manager/manager.go +++ b/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") }