blocking subscriber cleanup
diff --git a/api.go b/api.go index 57f9750..080abc9 100644 --- a/api.go +++ b/api.go
@@ -59,11 +59,12 @@ case msg := <-incoming: log.Debugf("Delivering new deployment %s to %d subscribers", msg, len(subscribers)) for subscriber := range subscribers { + delete(subscribers, subscriber) // all subscriptions are one-time notify select { case subscriber <- msg: log.Debugf("Handling deploy response for: %s", msg) default: - log.Error("listener too far behind, message dropped") + log.Debugf("listener too far behind, message dropped") } } case subscriber := <-addSubscriber:
diff --git a/listener.go b/listener.go index c1e1000..48cc4e4 100644 --- a/listener.go +++ b/listener.go
@@ -99,8 +99,5 @@ return err } - log.Debugf("Signaling new deployment ready: %s", deploymentID) - incoming <- deploymentID - return nil }