]>
Commit | Line | Data |
---|---|---|
c53853ca C |
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' | |
3a54605d | 5 | import { processImage } from '@server/helpers/image-utils' |
c53853ca C |
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 | ||
3a54605d C |
17 | // --------------------------------------------------------------------------- |
18 | ||
19 | const processImageWorker = new Piscina({ | |
20 | filename: join(__dirname, 'workers', 'image-processor.js'), | |
ccd62a45 C |
21 | concurrentTasksPerWorker: WORKER_THREADS.PROCESS_IMAGE.CONCURRENCY, |
22 | maxThreads: WORKER_THREADS.PROCESS_IMAGE.MAX_THREADS | |
3a54605d C |
23 | }) |
24 | ||
25 | function processImageFromWorker (options: Parameters<typeof processImage>[0]): Promise<ReturnType<typeof processImage>> { | |
26 | return processImageWorker.run(options) | |
27 | } | |
28 | ||
c53853ca | 29 | export { |
3a54605d C |
30 | downloadImageFromWorker, |
31 | processImageFromWorker | |
c53853ca | 32 | } |