UNPKG

paraemu

Version:

An working enviroment that provides a simplified interface for developers who want to fully parallelize node execution

33 lines (28 loc) 862 B
(()=>{ "use strict"; require( './lib' ); global.include = (path)=>{ return require(`./${path}`); }; let WORKER_THREAD_ENABLED = false; let THREAD_MASTER_MODE = true; try { const WorkerThread = require( 'worker_threads' ); WORKER_THREAD_ENABLED = true; THREAD_MASTER_MODE = WorkerThread.isMainThread; } catch (e) {} // Register core module base on the role of current process if ( require( 'cluster' ).isMaster && THREAD_MASTER_MODE ) { module.exports = require( './controllers/paraemu-task-controller' ); } else { if ( !WORKER_THREAD_ENABLED ) { module.exports = require( './controllers/task-worker/no-threads' ); } else if ( THREAD_MASTER_MODE ) { module.exports = require( './controllers/task-worker/master-thread' ); } else { module.exports = require( './controllers/task-worker/worker-thread' ) } } })();