aboutsummaryrefslogtreecommitdiffstats
path: root/packages/queue/options.ts
diff options
context:
space:
mode:
authorMohamedBassem <me@mbassem.com>2024-07-14 20:42:06 +0000
committerMohamedBassem <me@mbassem.com>2024-07-14 22:25:23 +0000
commitf77a41a75237b8c816e0c9ca7217dfacc32cc7d0 (patch)
tree69557b2001183cd915a81e0ea9d276e10d262147 /packages/queue/options.ts
parentaa3dce09ff68c212ac1fad33adfbfaba96290a59 (diff)
downloadkarakeep-f77a41a75237b8c816e0c9ca7217dfacc32cc7d0.tar.zst
chore: Add a new sqlite based queue package
Diffstat (limited to 'packages/queue/options.ts')
-rw-r--r--packages/queue/options.ts22
1 files changed, 22 insertions, 0 deletions
diff --git a/packages/queue/options.ts b/packages/queue/options.ts
new file mode 100644
index 00000000..18f8e52d
--- /dev/null
+++ b/packages/queue/options.ts
@@ -0,0 +1,22 @@
+import { ZodType } from "zod";
+
+import { DequeuedJob, DequeuedJobError } from "./types";
+
+export interface SqliteQueueOptions {
+ defaultJobArgs: {
+ numRetries: number;
+ };
+}
+
+export interface RunnerFuncs<T> {
+ run: (job: DequeuedJob<T>) => Promise<void>;
+ onComplete?: (job: DequeuedJob<T>) => Promise<void>;
+ onError?: (job: DequeuedJobError<T>) => Promise<void>;
+}
+
+export interface RunnerOptions<T> {
+ pollIntervalMs: number;
+ timeoutSecs: number;
+ concurrency: number;
+ validator?: ZodType<T>;
+}