listener was being added on every loop, accumulating listeners
diff --git a/apigee_sync.go b/apigee_sync.go
index 48f9743..f3912c6 100644
--- a/apigee_sync.go
+++ b/apigee_sync.go
@@ -174,7 +174,6 @@
/* If valid data present, Emit to plugins */
if len(resp.Changes) > 0 {
changeFinished = false
- events.ListenFunc(apid.EventDeliveredSelector, postPluginDataDelivery)
events.Emit(ApigeeSyncEventSelector, &resp)
/*
* The plugins should have finished what they are doing.
@@ -480,7 +479,6 @@
}
log.Info("Emitting Snapshot to plugins")
- events.ListenFunc(apid.EventDeliveredSelector, postPluginDataDelivery)
events.Emit(ApigeeSyncEventSelector, &resp)
break
diff --git a/init.go b/init.go
index 0b3d8c8..b0c5add 100644
--- a/init.go
+++ b/init.go
@@ -82,6 +82,9 @@
*/
events.ListenFunc(apid.SystemEventsSelector, postInitPlugins)
+ // This callback function will get called after each data event delivery.
+ events.ListenFunc(apid.EventDeliveredSelector, postPluginDataDelivery)
+
// check for required values
for _, key := range []string{configProxyServerBaseURI, configConsumerKey, configConsumerSecret,
configSnapServerBaseURI, configChangeServerBaseURI} {