diff options
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/shared/queues.ts | 19 | ||||
| -rw-r--r-- | packages/trpc/routers/bookmarks.ts | 10 |
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; |
