aboutsummaryrefslogtreecommitdiffstats
path: root/packages/shared/queues.ts
diff options
context:
space:
mode:
authorMohamedBassem <me@mbassem.com>2024-02-08 15:14:23 +0000
committerMohamedBassem <me@mbassem.com>2024-02-08 15:15:21 +0000
commit80bb8a108f29331cdb2f2695f6801beee104dc89 (patch)
treeb1ae2a512963a9c916c4bfed71f7633f508de131 /packages/shared/queues.ts
parent333429adbaaa592cc96b480a5228f0e3f1de4cc2 (diff)
downloadkarakeep-80bb8a108f29331cdb2f2695f6801beee104dc89.tar.zst
[refactor] Move the different packages to the package subdir
Diffstat (limited to 'packages/shared/queues.ts')
-rw-r--r--packages/shared/queues.ts29
1 files changed, 29 insertions, 0 deletions
diff --git a/packages/shared/queues.ts b/packages/shared/queues.ts
new file mode 100644
index 00000000..a607131d
--- /dev/null
+++ b/packages/shared/queues.ts
@@ -0,0 +1,29 @@
+import { Queue } from "bullmq";
+import { z } from "zod";
+
+export const queueConnectionDetails = {
+ host: process.env.REDIS_HOST || "localhost",
+ port: parseInt(process.env.REDIS_PORT || "6379"),
+};
+
+// Link Crawler
+export const zCrawlLinkRequestSchema = z.object({
+ linkId: z.string(),
+ url: z.string().url(),
+});
+export type ZCrawlLinkRequest = z.infer<typeof zCrawlLinkRequestSchema>;
+
+export const LinkCrawlerQueue = new Queue<ZCrawlLinkRequest, void>(
+ "link_crawler_queue",
+ { connection: queueConnectionDetails },
+);
+
+// OpenAI Worker
+export const zOpenAIRequestSchema = z.object({
+ linkId: z.string(),
+});
+export type ZOpenAIRequest = z.infer<typeof zOpenAIRequestSchema>;
+
+export const OpenAIQueue = new Queue<ZOpenAIRequest, void>("openai_queue", {
+ connection: queueConnectionDetails,
+});