@dazejs/framework
Version:
Daze.js - A powerful web framework for Node.js
37 lines • 1.31 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getAlivedWorkers = exports.isAliveWorker = exports.parseMasterOpts = void 0;
const cluster_1 = __importDefault(require("cluster"));
const os_1 = __importDefault(require("os"));
const const_1 = require("./const");
const cpus = os_1.default.cpus().length;
function parseMasterOpts(opts) {
opts.workers = opts.workers || cpus;
return opts;
}
exports.parseMasterOpts = parseMasterOpts;
function isAliveWorker(worker) {
if (!worker.isConnected() || worker.isDead())
return false;
if (Reflect.getMetadata(const_1.WORKER_DYING, worker))
return false;
return true;
}
exports.isAliveWorker = isAliveWorker;
function getAlivedWorkers() {
const workers = [];
for (const id in cluster_1.default.workers) {
if (Object.prototype.hasOwnProperty.call(cluster_1.default.workers, id)) {
const worker = cluster_1.default.workers[id];
if (isAliveWorker(worker)) {
workers.push(worker);
}
}
}
return workers;
}
exports.getAlivedWorkers = getAlivedWorkers;
//# sourceMappingURL=helpers.js.map