aboutsummaryrefslogtreecommitdiffstats
path: root/packages/shared/queues.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/shared/queues.ts')
-rw-r--r--packages/shared/queues.ts27
1 files changed, 27 insertions, 0 deletions
diff --git a/packages/shared/queues.ts b/packages/shared/queues.ts
index 7afb8774..b0002a29 100644
--- a/packages/shared/queues.ts
+++ b/packages/shared/queues.ts
@@ -158,3 +158,30 @@ export const AssetPreprocessingQueue =
keepFailedJobs: false,
},
);
+
+//Webhook worker
+export const zWebhookRequestSchema = z.object({
+ bookmarkId: z.string(),
+ operation: z.enum(["crawled"]),
+});
+export type ZWebhookRequest = z.infer<typeof zWebhookRequestSchema>;
+export const WebhookQueue = new SqliteQueue<ZWebhookRequest>(
+ "webhook_queue",
+ queueDB,
+ {
+ defaultJobArgs: {
+ numRetries: 3,
+ },
+ keepFailedJobs: false,
+ },
+);
+
+export async function triggerWebhookWorker(
+ bookmarkId: string,
+ operation: "crawled",
+) {
+ await WebhookQueue.enqueue({
+ bookmarkId,
+ operation,
+ });
+}