Files
var-monorepo/apps/mediasoup-server/modules/mediasoup/worker.ts
PxlLoewe 4862f73612 livekit
2025-03-16 13:56:18 -07:00

22 lines
756 B
TypeScript

import { createWorker as mediasoupCreateWorker } from 'mediasoup';
import logger from 'modules/winston/logger';
import { workerSettings } from './config';
/**
* * For now, each channel uses its own worker
* ! Do not create more Workers than the number of CPU-Cores
*/
export const createWorker = async () => {
const worker = await mediasoupCreateWorker(workerSettings);
logger.info(`Mediasoup worker created`, { service: 'mediasoup' });
worker.on('died', (error) => {
// This implies something serious happened, so kill the application
logger.error(`Mediasoup worker crashed! ${error}`, { error, service: 'mediasoup' });
setTimeout(() => process.exit(1), 2000); // exit in 2 seconds
});
return worker;
};