From ca422132c8f739f3ee873046a3f59d80f2462152 Mon Sep 17 00:00:00 2001
From: Vika <vika@fireburn.ru>
Date: Sun, 9 Jul 2023 18:25:58 +0300
Subject: webmentions/queue: give up on an item after 5 attempts

This also involves a crude "async drop" implementation that fires a
future incrementing an attempt if a Job has been dropped without
marking it as done.
---
 kittybox-rs/migrations/0002_webmention_queue.sql | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

(limited to 'kittybox-rs/migrations/0002_webmention_queue.sql')

diff --git a/kittybox-rs/migrations/0002_webmention_queue.sql b/kittybox-rs/migrations/0002_webmention_queue.sql
index 0b95771..708933b 100644
--- a/kittybox-rs/migrations/0002_webmention_queue.sql
+++ b/kittybox-rs/migrations/0002_webmention_queue.sql
@@ -1,10 +1,13 @@
-CREATE TABLE incoming_webmention_queue (
+CREATE TABLE kittybox.incoming_webmention_queue (
        id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
        source TEXT NOT NULL,
        target TEXT NOT NULL,
-       recv_timestamp TIMESTAMPTZ NOT NULL DEFAULT now()
+       recv_timestamp TIMESTAMPTZ NOT NULL DEFAULT now(),
+       attempts INTEGER NOT NULL DEFAULT 0
 );
 
+CREATE INDEX webmention_jobs_by_attempts ON kittybox.incoming_webmention_queue (attempts);
+
 CREATE RULE notify_incoming_webmention AS
-ON INSERT TO incoming_webmention_queue
+ON INSERT TO kittybox.incoming_webmention_queue
 DO ALSO NOTIFY incoming_webmention;
-- 
cgit 1.4.1

