aboutsummaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-rw-r--r--packages/shared/queues.ts19
-rw-r--r--packages/trpc/routers/bookmarks.ts10
2 files changed, 27 insertions, 2 deletions
diff --git a/packages/shared/queues.ts b/packages/shared/queues.ts
index a887417d..7afb8774 100644
--- a/packages/shared/queues.ts
+++ b/packages/shared/queues.ts
@@ -139,3 +139,22 @@ export const FeedQueue = new SqliteQueue<ZFeedRequestSchema>(
keepFailedJobs: false,
},
);
+
+// Preprocess Assets
+export const zAssetPreprocessingRequestSchema = z.object({
+ bookmarkId: z.string(),
+});
+export type AssetPreprocessingRequest = z.infer<
+ typeof zAssetPreprocessingRequestSchema
+>;
+export const AssetPreprocessingQueue =
+ new SqliteQueue<AssetPreprocessingRequest>(
+ "asset_preprocessing_queue",
+ queueDB,
+ {
+ defaultJobArgs: {
+ numRetries: 2,
+ },
+ keepFailedJobs: false,
+ },
+ );
diff --git a/packages/trpc/routers/bookmarks.ts b/packages/trpc/routers/bookmarks.ts
index 8a4170cd..254ac6c2 100644
--- a/packages/trpc/routers/bookmarks.ts
+++ b/packages/trpc/routers/bookmarks.ts
@@ -26,6 +26,7 @@ import serverConfig from "@hoarder/shared/config";
import { InferenceClientFactory } from "@hoarder/shared/inference";
import { buildSummaryPrompt } from "@hoarder/shared/prompts";
import {
+ AssetPreprocessingQueue,
LinkCrawlerQueue,
OpenAIQueue,
triggerSearchDeletion,
@@ -378,13 +379,18 @@ export const bookmarksAppRouter = router({
});
break;
}
- case BookmarkTypes.TEXT:
- case BookmarkTypes.ASSET: {
+ case BookmarkTypes.TEXT: {
await OpenAIQueue.enqueue({
bookmarkId: bookmark.id,
});
break;
}
+ case BookmarkTypes.ASSET: {
+ await AssetPreprocessingQueue.enqueue({
+ bookmarkId: bookmark.id,
+ });
+ break;
+ }
}
await triggerSearchReindex(bookmark.id);
return bookmark;