pipeproc
Version:
Multi-process log processing for nodejs
28 lines (27 loc) • 882 B
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const debug_1 = __importDefault(require("debug"));
const d = debug_1.default("pipeproc:node");
function runShutdownHooks(db, systemState, activeWorkers, callback) {
activeWorkers.forEach(function (worker) {
worker.monitor.stop();
worker.process.kill("SIGTERM");
});
d("workers closed");
if (db && typeof db.close === "function") {
db.close(function (err) {
d("db store closed");
systemState.active = false;
callback(err);
});
}
else {
d("db store closed");
systemState.active = false;
callback();
}
}
exports.runShutdownHooks = runShutdownHooks;
;