mirror of
https://github.com/immich-app/immich.git
synced 2026-02-15 05:18:37 +03:00
feat: Use postgres as a queue
We've been keen to try this for a while as it means we can remove redis as a dependency, which makes Immich easier to setup and run. This replaces bullmq with a bespoke postgres queue. Jobs in the queue are processed either immediately via triggers and notifications, or eventually if a notification is missed.
This commit is contained in:
@@ -9621,7 +9621,7 @@
|
||||
"start",
|
||||
"pause",
|
||||
"resume",
|
||||
"empty",
|
||||
"clear",
|
||||
"clear-failed"
|
||||
],
|
||||
"type": "string"
|
||||
@@ -9649,28 +9649,20 @@
|
||||
"active": {
|
||||
"type": "integer"
|
||||
},
|
||||
"completed": {
|
||||
"type": "integer"
|
||||
},
|
||||
"delayed": {
|
||||
"type": "integer"
|
||||
},
|
||||
"failed": {
|
||||
"type": "integer"
|
||||
},
|
||||
"paused": {
|
||||
"type": "integer"
|
||||
},
|
||||
"waiting": {
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"active",
|
||||
"completed",
|
||||
"delayed",
|
||||
"failed",
|
||||
"paused",
|
||||
"waiting"
|
||||
],
|
||||
"type": "object"
|
||||
@@ -11007,16 +10999,12 @@
|
||||
},
|
||||
"QueueStatusDto": {
|
||||
"properties": {
|
||||
"isActive": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"isPaused": {
|
||||
"paused": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"isActive",
|
||||
"isPaused"
|
||||
"paused"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
|
||||
@@ -577,15 +577,12 @@ export type FaceDto = {
|
||||
};
|
||||
export type JobCountsDto = {
|
||||
active: number;
|
||||
completed: number;
|
||||
delayed: number;
|
||||
failed: number;
|
||||
paused: number;
|
||||
waiting: number;
|
||||
};
|
||||
export type QueueStatusDto = {
|
||||
isActive: boolean;
|
||||
isPaused: boolean;
|
||||
paused: boolean;
|
||||
};
|
||||
export type JobStatusDto = {
|
||||
jobCounts: JobCountsDto;
|
||||
@@ -3673,7 +3670,7 @@ export enum JobCommand {
|
||||
Start = "start",
|
||||
Pause = "pause",
|
||||
Resume = "resume",
|
||||
Empty = "empty",
|
||||
Clear = "clear",
|
||||
ClearFailed = "clear-failed"
|
||||
}
|
||||
export enum MemoryType {
|
||||
|
||||
Reference in New Issue
Block a user