projeto-hit/TEST_SERVER1/api/helpers/startPm2Process.js

45 lines
1.2 KiB
JavaScript

const pm2 = require('pm2');
const { execSync } = require("child_process");
function startPm2Process(process_name, file, path, port) {
pm2.connect(function (err) {
if (err) {
console.error(err);
// process.exit(2);
}
pm2.start({
name: process_name,
script: file,
cwd: path,
env: {
PORT: port
}
// additional options here if needed
}, function (err, apps) {
if (err) {
console.error(err);
// process.exit(2);
}
else {
execSync(`pm2 save --force`, { cwd: path }, (error, stdout, stderr) => {
if (error) {
console.log(`error: ${error.message}`);
return;
}
if (stderr) {
console.log(`stderr: ${stderr}`);
return;
}
console.log(`stdout: ${stdout}`);
});
}
pm2.disconnect();
});
});
}
module.exports = startPm2Process