50 lines
No EOL
1.1 KiB
JavaScript
50 lines
No EOL
1.1 KiB
JavaScript
const { spawn } = require('child_process');
|
|
|
|
function isEnabled(parameter) {
|
|
return isSet(parameter?.enabled) && parameter.enabled === true;
|
|
}
|
|
|
|
function isDisabled(parameter) {
|
|
return isSet(parameter?.enabled) && parameter.enabled === false;
|
|
}
|
|
|
|
function isSet(parameter) {
|
|
return parameter !== undefined;
|
|
}
|
|
|
|
function isUnset(parameter) {
|
|
return !isSet(parameter);
|
|
}
|
|
|
|
async function sleep(ms) {
|
|
if (isNaN(ms)) {
|
|
return;
|
|
}
|
|
return new Promise((resolve, reject) => {
|
|
setTimeout(resolve, ms);
|
|
});
|
|
}
|
|
|
|
function restart() {
|
|
const args = process.argv;
|
|
const cmd = args[0];
|
|
args.shift();
|
|
const newProcess = spawn(cmd, args, { detached: true, stdio: 'ignore' });
|
|
newProcess.unref();
|
|
newProcess.on('error', (error) => {
|
|
logger.error('ERROR RESTARTING: '+ error);
|
|
});
|
|
newProcess.on('spawn', () => {
|
|
logger.warn('PROCESS RESTARTED WITH PID: ' + newProcess.pid);
|
|
process.exit(0);
|
|
});
|
|
}
|
|
|
|
module.exports = {
|
|
isEnabled,
|
|
isDisabled,
|
|
isSet,
|
|
isUnset,
|
|
sleep,
|
|
restart
|
|
} |