From e1a6654bd5e284842ffbc3b93bd390f3bad7a187 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Mon, 18 May 2026 20:43:51 +0100 Subject: Add job to retry insertion of log lines which had previously failed Entities are reparsed and reinserted, removed on success. Failure to parse updates the entity type to UnparsableLine. Failure to insert again updates the detail with the reason. --- src/sql/deleteEntity.sql | 2 ++ src/sql/markEntityRetried.sql | 6 ++++++ src/sql/selectUninsertableLines.sql | 8 ++++++++ src/sql/setEntityType.sql | 6 ++++++ 4 files changed, 22 insertions(+) create mode 100644 src/sql/deleteEntity.sql create mode 100644 src/sql/markEntityRetried.sql create mode 100644 src/sql/selectUninsertableLines.sql create mode 100644 src/sql/setEntityType.sql (limited to 'src/sql') diff --git a/src/sql/deleteEntity.sql b/src/sql/deleteEntity.sql new file mode 100644 index 0000000..e201384 --- /dev/null +++ b/src/sql/deleteEntity.sql @@ -0,0 +1,2 @@ +DELETE FROM entities +WHERE id = ? diff --git a/src/sql/markEntityRetried.sql b/src/sql/markEntityRetried.sql new file mode 100644 index 0000000..6ec2263 --- /dev/null +++ b/src/sql/markEntityRetried.sql @@ -0,0 +1,6 @@ +UPDATE + entities +SET + detail = jsonb_build_object('retriedAt', CURRENT_TIMESTAMP at time zone 'utc', 'error', ?::text) +WHERE + id = ? diff --git a/src/sql/selectUninsertableLines.sql b/src/sql/selectUninsertableLines.sql new file mode 100644 index 0000000..048726b --- /dev/null +++ b/src/sql/selectUninsertableLines.sql @@ -0,0 +1,8 @@ +SELECT + id, + value +FROM + entities +WHERE + type = 'uninsertable_line' + AND detail IS NULL diff --git a/src/sql/setEntityType.sql b/src/sql/setEntityType.sql new file mode 100644 index 0000000..5c981b9 --- /dev/null +++ b/src/sql/setEntityType.sql @@ -0,0 +1,6 @@ +UPDATE + entities +SET + type = ?::entity +WHERE + id = ? -- cgit v1.3