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