From c53853ca1b8e32aea5259d436d3d284b9d178919 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 24 Jun 2022 16:31:32 +0200 Subject: Introduce worker threads to process remote images --- server/lib/thumbnail.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'server/lib/thumbnail.ts') diff --git a/server/lib/thumbnail.ts b/server/lib/thumbnail.ts index aa2d7a813..f00c87623 100644 --- a/server/lib/thumbnail.ts +++ b/server/lib/thumbnail.ts @@ -1,13 +1,13 @@ import { join } from 'path' import { ThumbnailType } from '@shared/models' import { generateImageFilename, generateImageFromVideoFile, processImage } from '../helpers/image-utils' -import { downloadImage } from '../helpers/requests' import { CONFIG } from '../initializers/config' import { ASSETS_PATH, PREVIEWS_SIZE, THUMBNAILS_SIZE } from '../initializers/constants' import { ThumbnailModel } from '../models/video/thumbnail' import { MVideoFile, MVideoThumbnail, MVideoUUID } from '../types/models' import { MThumbnail } from '../types/models/video/thumbnail' import { MVideoPlaylistThumbnail } from '../types/models/video/video-playlist' +import { downloadImageFromWorker } from './local-actor' import { VideoPathManager } from './video-path-manager' type ImageSize = { height?: number, width?: number } @@ -49,7 +49,10 @@ function updatePlaylistMiniatureFromUrl (options: { ? null : downloadUrl - const thumbnailCreator = () => downloadImage(downloadUrl, basePath, filename, { width, height }) + const thumbnailCreator = () => { + return downloadImageFromWorker({ url: downloadUrl, destDir: basePath, destName: filename, size: { width, height } }) + } + return updateThumbnailFromFunction({ thumbnailCreator, filename, height, width, type, existingThumbnail, fileUrl }) } @@ -75,7 +78,9 @@ function updateVideoMiniatureFromUrl (options: { : existingThumbnail.filename const thumbnailCreator = () => { - if (thumbnailUrlChanged) return downloadImage(downloadUrl, basePath, filename, { width, height }) + if (thumbnailUrlChanged) { + return downloadImageFromWorker({ url: downloadUrl, destDir: basePath, destName: filename, size: { width, height } }) + } return Promise.resolve() } -- cgit v1.2.3