aboutsummaryrefslogtreecommitdiffstats
path: root/packages/shared/queues.ts
diff options
context:
space:
mode:
authorkamtschatka <simon.schatka@gmx.at>2024-10-28 02:51:00 +0100
committerGitHub <noreply@github.com>2024-10-28 01:51:00 +0000
commit4a13c36da50f6b3171d817edebefe96ba85dc666 (patch)
tree60ff553426493e7ae2460e73c3500a5525ba735c /packages/shared/queues.ts
parent3b7451f4d0727d597c0af0e602f0c74cf58999af (diff)
downloadkarakeep-4a13c36da50f6b3171d817edebefe96ba85dc666.tar.zst
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 <me@mbassem.com>
Diffstat (limited to 'packages/shared/queues.ts')
-rw-r--r--packages/shared/queues.ts23
1 files changed, 23 insertions, 0 deletions
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<typeof zvideoRequestSchema>;
+
+export const VideoWorkerQueue = new SqliteQueue<ZVideoRequest>(
+ "video_queue",
+ queueDB,
+ {
+ defaultJobArgs: {
+ numRetries: 5,
+ },
+ },
+);
+
+export async function triggerVideoWorker(bookmarkId: string, url: string) {
+ await VideoWorkerQueue.enqueue({
+ bookmarkId,
+ url,
+ });
+}