Refresh developer cache only once for a set of changes
diff --git a/listener.go b/listener.go index e320fed..4c57da8 100644 --- a/listener.go +++ b/listener.go
@@ -62,6 +62,7 @@ log.Debugf("apigeeSyncEvent: %d changes", len(changes.Changes)) var rows []common.Row + refreshDevInfoNeeded := false for _, payload := range changes.Changes { rows = nil switch payload.Table { @@ -107,9 +108,13 @@ "kms.app_credential_apiproduct_mapper": // any change in any of the above tables // should result in cache refresh - createDeveloperInfoCache() - log.Debug("Refresh local developerInfoCache") + refreshDevInfoNeeded = true } } + // Refresh cache once for all set of changes + if refreshDevInfoNeeded { + createDeveloperInfoCache() + log.Debug("Refresh local developerInfoCache") + } } }