replace forever with pm2
This commit is contained in:
parent
26e1a00c4f
commit
156b36c67d
2 changed files with 30 additions and 24 deletions
51
cli
51
cli
|
|
@ -1,46 +1,51 @@
|
||||||
#!/usr/bin/env node
|
#!/usr/bin/env node
|
||||||
|
|
||||||
var spawn = require('child_process').spawn,
|
var pm2 = require('pm2'),
|
||||||
fs = require('fs'),
|
fs = require('fs'),
|
||||||
path = require('path'),
|
path = require('path'),
|
||||||
logo = fs.readFileSync(path.join(__dirname,'logo.txt'), 'utf8'),
|
logo = fs.readFileSync(path.join(__dirname,'logo.txt'), 'utf8'),
|
||||||
cli = require('commander'),
|
cli = require('commander'),
|
||||||
package = require('./package.json');
|
package = require('./package.json');
|
||||||
|
|
||||||
|
|
||||||
var command = process.platform === 'win32' ? 'forever.cmd' : 'forever';
|
|
||||||
|
|
||||||
function start() {
|
function start() {
|
||||||
|
|
||||||
var child = spawn(command, ['start', '-c', 'node', 'index.js', '-s'], {
|
|
||||||
cwd: __dirname,
|
|
||||||
env: process.env,
|
|
||||||
detached: true
|
|
||||||
});
|
|
||||||
|
|
||||||
console.log(logo);
|
console.log(logo);
|
||||||
console.log('starting proxy on port 1338...');
|
|
||||||
|
|
||||||
child.on('error', console.log);
|
pm2.connect((err) => {
|
||||||
child.on('exit', function(code) {
|
|
||||||
process.exit(code);
|
if(err) {
|
||||||
|
console.error(err);
|
||||||
|
process.exit(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
pm2.start({
|
||||||
|
script: 'index.js',
|
||||||
|
name: 'xcarve'
|
||||||
|
}, (err, apps) => {
|
||||||
|
pm2.disconnect();
|
||||||
|
if (err) throw err
|
||||||
|
console.log('starting proxy on port 1338...\n');
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function stop() {
|
function stop() {
|
||||||
|
|
||||||
var child = spawn(command, ['stop', '-c', 'node', 'index.js', '-s'], {
|
pm2.connect((err) => {
|
||||||
cwd: __dirname,
|
|
||||||
env: process.env,
|
|
||||||
detached: true
|
|
||||||
});
|
|
||||||
|
|
||||||
console.log('stopping proxy...');
|
if(err) {
|
||||||
|
console.error(err);
|
||||||
|
process.exit(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
pm2.stop('xcarve', (err) => {
|
||||||
|
if(err) throw err;
|
||||||
|
console.log('stopping proxy...');
|
||||||
|
process.exit();
|
||||||
|
});
|
||||||
|
|
||||||
child.on('error', console.log);
|
|
||||||
child.on('exit', function(code) {
|
|
||||||
process.exit(code);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@
|
||||||
"homepage": "https://github.com/adafruit/xcarve-proxy",
|
"homepage": "https://github.com/adafruit/xcarve-proxy",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"commander": "^2.8.1",
|
"commander": "^2.8.1",
|
||||||
"http-proxy": "^1.11.1"
|
"http-proxy": "^1.11.1",
|
||||||
|
"pm2": "^2.1.4"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue