From c7c890f6bb5c00fcf0bf7fcecd5a5a37899d9fd3 Mon Sep 17 00:00:00 2001 From: Nathan Coad Date: Wed, 25 Sep 2024 12:55:13 +1000 Subject: [PATCH] only check unprocessed events from last 1 day --- db/queries/query.sql | 1 + db/queries/query.sql.go | 5 +++-- internal/tasks/processEvents.go | 6 ++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/db/queries/query.sql b/db/queries/query.sql index 7460eac..a86bb08 100644 --- a/db/queries/query.sql +++ b/db/queries/query.sql @@ -50,6 +50,7 @@ ORDER BY "EventTime"; -- name: ListUnprocessedEvents :many SELECT * FROM "Events" WHERE "Processed" = 0 +AND "EventTime" > sqlc.arg('eventTime') ORDER BY "EventTime"; -- name: UpdateEventsProcessed :exec diff --git a/db/queries/query.sql.go b/db/queries/query.sql.go index ec43c0d..f874752 100644 --- a/db/queries/query.sql.go +++ b/db/queries/query.sql.go @@ -422,11 +422,12 @@ func (q *Queries) ListInventory(ctx context.Context) ([]Inventory, error) { const listUnprocessedEvents = `-- name: ListUnprocessedEvents :many SELECT Eid, CloudId, Source, EventTime, ChainId, VmId, EventKey, DatacenterName, ComputeResourceName, UserName, Processed, DatacenterId, ComputeResourceId, VmName, EventType FROM "Events" WHERE "Processed" = 0 +AND "EventTime" > ?1 ORDER BY "EventTime" ` -func (q *Queries) ListUnprocessedEvents(ctx context.Context) ([]Events, error) { - rows, err := q.db.QueryContext(ctx, listUnprocessedEvents) +func (q *Queries) ListUnprocessedEvents(ctx context.Context, eventtime sql.NullInt64) ([]Events, error) { + rows, err := q.db.QueryContext(ctx, listUnprocessedEvents, eventtime) if err != nil { return nil, err } diff --git a/internal/tasks/processEvents.go b/internal/tasks/processEvents.go index f7179f9..ea273e5 100644 --- a/internal/tasks/processEvents.go +++ b/internal/tasks/processEvents.go @@ -31,10 +31,12 @@ func (c *CronTask) RunVmCheck(ctx context.Context, logger *slog.Logger) error { folderPath string ) - logger.Debug("Started Events processing", "time", time.Now()) + dateCmp := time.Now().AddDate(0, 0, -1).Unix() + logger.Debug("Started Events processing", "time", time.Now(), "since", dateCmp) // Query events table - events, err := c.Database.Queries().ListUnprocessedEvents(ctx) + events, err := c.Database.Queries().ListUnprocessedEvents(ctx, + sql.NullInt64{Int64: dateCmp, Valid: dateCmp > 0}) if err != nil { logger.Error("Unable to query for unprocessed events", "error", err) return nil // TODO - what to do with this error?