diff options
Diffstat (limited to 'packages/shared/queues.ts')
| -rw-r--r-- | packages/shared/queues.ts | 27 |
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, + }); +} |
