Skip to content

Commit 7e0ec23

Browse files
committed
Update repair queries fro latest Minion release
1 parent 14a576a commit 7e0ec23

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

src/pg-backend.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,11 @@ export class PgBackend {
351351
// Old jobs
352352
await pg.query`
353353
DELETE FROM minion_jobs
354-
WHERE state = 'finished' AND finished <= NOW() - INTERVAL '1 millisecond' * ${minion.removeAfter}
354+
WHERE id IN (
355+
SELECT id FROM minion_jobs
356+
WHERE state = 'finished' AND finished <= NOW() - INTERVAL '1 second' * ${minion.removeAfter}
357+
EXCEPT SELECT unnest(parents) AS id FROM minion_jobs WHERE state != 'finished'
358+
)
355359
`;
356360

357361
// Expired jobs

test/pg.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1027,9 +1027,9 @@ t.test('PostgreSQL backend', skip, async t => {
10271027
t.same((await job4.info()).parents, [id, id2]);
10281028
t.equal((await minion.stats()).finished_jobs, 2);
10291029
await minion.repair();
1030-
t.equal((await minion.stats()).finished_jobs, 0);
1030+
t.equal((await minion.stats()).finished_jobs, 2);
10311031
t.ok(await job4.finish());
1032-
t.equal((await minion.stats()).finished_jobs, 1);
1032+
t.equal((await minion.stats()).finished_jobs, 3);
10331033
await minion.repair();
10341034
t.equal((await minion.stats()).finished_jobs, 0);
10351035

0 commit comments

Comments
 (0)