X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Fworker%2Fparent-process.ts;h=7d410204786ab5fca790b6e198af13d370cfc978;hb=910744fb084499a110d26bf5542abebb8a750b19;hp=4bc7f26207f97a44852f03bc1e2c54d78a546534;hpb=daa0226b0a2ae1d19b342c2b7a54267d2fd8d30e;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/worker/parent-process.ts b/server/lib/worker/parent-process.ts index 4bc7f2620..7d4102047 100644 --- a/server/lib/worker/parent-process.ts +++ b/server/lib/worker/parent-process.ts @@ -2,6 +2,7 @@ import { join } from 'path' import Piscina from 'piscina' import { processImage } from '@server/helpers/image-utils' import { WORKER_THREADS } from '@server/initializers/constants' +import { httpBroadcast } from './workers/http-broadcast' import { downloadImage } from './workers/image-downloader' let downloadImageWorker: Piscina @@ -34,7 +35,41 @@ function processImageFromWorker (options: Parameters[0]): P return processImageWorker.run(options) } +// --------------------------------------------------------------------------- + +let parallelHTTPBroadcastWorker: Piscina + +function parallelHTTPBroadcastFromWorker (options: Parameters[0]): Promise> { + if (!parallelHTTPBroadcastWorker) { + parallelHTTPBroadcastWorker = new Piscina({ + filename: join(__dirname, 'workers', 'http-broadcast.js'), + concurrentTasksPerWorker: WORKER_THREADS.PARALLEL_HTTP_BROADCAST.CONCURRENCY, + maxThreads: WORKER_THREADS.PARALLEL_HTTP_BROADCAST.MAX_THREADS + }) + } + + return parallelHTTPBroadcastWorker.run(options) +} + +// --------------------------------------------------------------------------- + +let sequentialHTTPBroadcastWorker: Piscina + +function sequentialHTTPBroadcastFromWorker (options: Parameters[0]): Promise> { + if (!sequentialHTTPBroadcastWorker) { + sequentialHTTPBroadcastWorker = new Piscina({ + filename: join(__dirname, 'workers', 'http-broadcast.js'), + concurrentTasksPerWorker: WORKER_THREADS.SEQUENTIAL_HTTP_BROADCAST.CONCURRENCY, + maxThreads: WORKER_THREADS.SEQUENTIAL_HTTP_BROADCAST.MAX_THREADS + }) + } + + return sequentialHTTPBroadcastWorker.run(options) +} + export { downloadImageFromWorker, - processImageFromWorker + processImageFromWorker, + parallelHTTPBroadcastFromWorker, + sequentialHTTPBroadcastFromWorker }