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
JavaScript
(()=>{
"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' )
}
}
})();