]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/lib/worker/parent-process.ts
Fix workers constants
[github/Chocobozzz/PeerTube.git] / server / lib / worker / parent-process.ts
1 import { join } from 'path'
2 import Piscina from 'piscina'
3 import { WORKER_THREADS } from '@server/initializers/constants'
4 import { downloadImage } from './workers/image-downloader'
5 import { processImage } from '@server/helpers/image-utils'
6
7 const downloadImagerWorker = new Piscina({
8 filename: join(__dirname, 'workers', 'image-downloader.js'),
9 concurrentTasksPerWorker: WORKER_THREADS.DOWNLOAD_IMAGE.CONCURRENCY,
10 maxThreads: WORKER_THREADS.DOWNLOAD_IMAGE.MAX_THREADS
11 })
12
13 function downloadImageFromWorker (options: Parameters<typeof downloadImage>[0]): Promise<ReturnType<typeof downloadImage>> {
14 return downloadImagerWorker.run(options)
15 }
16
17 // ---------------------------------------------------------------------------
18
19 const processImageWorker = new Piscina({
20 filename: join(__dirname, 'workers', 'image-processor.js'),
21 concurrentTasksPerWorker: WORKER_THREADS.PROCESS_IMAGE.CONCURRENCY,
22 maxThreads: WORKER_THREADS.PROCESS_IMAGE.MAX_THREADS
23 })
24
25 function processImageFromWorker (options: Parameters<typeof processImage>[0]): Promise<ReturnType<typeof processImage>> {
26 return processImageWorker.run(options)
27 }
28
29 export {
30 downloadImageFromWorker,
31 processImageFromWorker
32 }