Skip to content

Commit

Permalink
Add queries for jobs, including adding dead letter queue.
Browse files Browse the repository at this point in the history
  • Loading branch information
emmiegit committed Jan 13, 2024
1 parent 28c4139 commit fc9faa9
Show file tree
Hide file tree
Showing 6 changed files with 21 additions and 0 deletions.
9 changes: 9 additions & 0 deletions migrations/20240112_01_Njk7j-create-initial-tables.sql
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,16 @@ CREATE TABLE job (
job_id SERIAL PRIMARY KEY,
job_type TEXT NOT NULL,
job_object TEXT NOT NULL,
attempts INTEGER NOT NULL DEFAULT 0,
data JSON NOT NULL,

UNIQUE (job_type, job_object)
);

CREATE TABLE job_dead (
job_id INTEGER PRIMARY KEY,
buried_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(),
job_type TEXT NOT NULL,
job_object TEXT NOT NULL
data JSON NOT NULL
);
3 changes: 3 additions & 0 deletions queries/add_dead_job.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
-- :name add_dead_job :insert
INSERT INTO job_dead (job_id, job_type, job_object, data)
VALUES (:job_id, :job_type, :job_object, :data)
2 changes: 2 additions & 0 deletions queries/add_job.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
-- :name add_job :insert
INSERT INTO job (job_type, job_object, data) VALUES (:job_type, :job_object, :data)
2 changes: 2 additions & 0 deletions queries/delete_job.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
-- :name delete_job :affected
DELETE FROM job WHERE job_id = :job_id
2 changes: 2 additions & 0 deletions queries/fail_job.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
-- :name fail_job :affected
UPDATE job SET attempts = attempts + 1 WHERE job_id = :job_id
3 changes: 3 additions & 0 deletions queries/get_jobs.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
-- :name get_job :many
-- Select jobs randomly to avoid bias or potential loops
SELECT * FROM job TABLESAMPLE SYSTEM (2);

0 comments on commit fc9faa9

Please sign in to comment.