From cbe2afe5391d52d55e6b7fe74a451084f96bcd1d Mon Sep 17 00:00:00 2001 From: Lukasz Raczylo Date: Fri, 6 Dec 2024 09:39:26 +0000 Subject: [PATCH] Gather cleaner event errors and display as a group rather than separately. --- events.go | 23 +++++++++++++++++++---- main.go | 2 +- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/events.go b/events.go index 155dd41..e32cbaf 100644 --- a/events.go +++ b/events.go @@ -71,13 +71,14 @@ func enableHasuraEventCleaner() { func cleanEvents(pool *pgxpool.Pool) { ctx := context.Background() + var errors []error + var failedQueries []string + for _, query := range delQueries { _, err := pool.Exec(ctx, fmt.Sprintf(query, cfg.HasuraEventCleaner.ClearOlderThan)) if err != nil { - cfg.Logger.Error(&libpack_logger.LogMessage{ - Message: "Failed to execute query", - Pairs: map[string]interface{}{"query": query, "error": err.Error()}, - }) + errors = append(errors, err) + failedQueries = append(failedQueries, query) } else { cfg.Logger.Debug(&libpack_logger.LogMessage{ Message: "Successfully executed query", @@ -85,4 +86,18 @@ func cleanEvents(pool *pgxpool.Pool) { }) } } + + if len(errors) > 0 { + var errMsgs []string + for _, err := range errors { + errMsgs = append(errMsgs, err.Error()) + } + cfg.Logger.Error(&libpack_logger.LogMessage{ + Message: "Failed to execute some queries", + Pairs: map[string]interface{}{ + "failed_queries": failedQueries, + "errors": errMsgs, + }, + }) + } } diff --git a/main.go b/main.go index 2babe61..f9a97b5 100644 --- a/main.go +++ b/main.go @@ -125,7 +125,7 @@ func parseConfig() { go enableApi() go enableHasuraEventCleaner() }) - prepareQueriesAndExemptions() // Ensure this function is defined elsewhere + prepareQueriesAndExemptions() } func main() {