From 4a13c36da50f6b3171d817edebefe96ba85dc666 Mon Sep 17 00:00:00 2001 From: kamtschatka Date: Mon, 28 Oct 2024 02:51:00 +0100 Subject: feature: Archive videos using yt-dlp. Fixes #215 (#525) * Allow downloading more content from a webpage and index it #215 Added a worker that allows downloading videos depending on the environment variables refactored the code a bit added new video asset updated documentation * Some tweaks * Drop the dependency on the yt-dlp wrapper * Update openapi specs * Dont log an error when the url is not supported * Better handle supported websites that dont download anything --------- Co-authored-by: Mohamed Bassem --- packages/shared/queues.ts | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'packages/shared/queues.ts') diff --git a/packages/shared/queues.ts b/packages/shared/queues.ts index 0cb30aae..6189a633 100644 --- a/packages/shared/queues.ts +++ b/packages/shared/queues.ts @@ -93,3 +93,26 @@ export async function triggerSearchDeletion(bookmarkId: string) { type: "delete", }); } + +export const zvideoRequestSchema = z.object({ + bookmarkId: z.string(), + url: z.string(), +}); +export type ZVideoRequest = z.infer; + +export const VideoWorkerQueue = new SqliteQueue( + "video_queue", + queueDB, + { + defaultJobArgs: { + numRetries: 5, + }, + }, +); + +export async function triggerVideoWorker(bookmarkId: string, url: string) { + await VideoWorkerQueue.enqueue({ + bookmarkId, + url, + }); +} -- cgit v1.2.3-70-g09d2