Browse Source

Merge pull request #163 from SuperNETorg/bin-exec-fix

Bin exec fix
all-modes
pbca26 7 years ago
committed by GitHub
parent
commit
14e7b0817c
  1. 44
      routes/shepherd.js

44
routes/shepherd.js

@ -21,7 +21,8 @@ const electron = require('electron'),
AdmZip = require('adm-zip'),
remoteFileSize = require('remote-file-size'),
Promise = require('bluebird'),
{shell} = require('electron');
{shell} = require('electron'),
{ execFile } = require('child_process');
const fixPath = require('fix-path');
var ps = require('ps-node'),
@ -905,14 +906,18 @@ shepherd.quitKomodod = function(timeout = 100) {
const chain = key !== 'komodod' ? key : null;
coindExitInterval[key] = setInterval(function() {
shepherd.killRogueProcess('komodo-cli');
console.log('exec ' + komodocliBin + (chain ? ' -ac_name=' + chain : '') + ' stop');
exec(komodocliBin + (chain ? ' -ac_name=' + chain : '') + ' stop', function(error, stdout, stderr) {
let _arg = [];
if (chain) {
_arg.push(`-ac_name=${chain}`);
}
_arg.push('stop');
execFile(`${komodocliBin}`, _arg, function(error, stdout, stderr) {
console.log(`stdout: ${stdout}`);
console.log(`stderr: ${stderr}`);
if (stdout.indexOf('EOF reached') > -1 ||
stderr.indexOf('EOF reached') > -1 ||
(error && error.toString().indexOf('Command failed') > -1 && !stderr) || // win "special snowflake" case
stdout.indexOf('connect to server: unknown (code -1)') > -1 ||
stderr.indexOf('connect to server: unknown (code -1)') > -1) {
delete coindInstanceRegistry[key];
@ -922,6 +927,7 @@ shepherd.quitKomodod = function(timeout = 100) {
if (error !== null) {
console.log(`exec error: ${error}`);
}
shepherd.killRogueProcess('komodo-cli');
});
}, timeout);
}
@ -1025,8 +1031,9 @@ shepherd.post('/cli', function(req, res, next) {
}
});
} else {
shepherd.killRogueProcess('komodo-cli');
exec(komodocliBin + (_chain ? ' -ac_name=' + _chain : '') + ' ' + _cmd + _params, function(error, stdout, stderr) {
let _arg = (_chain ? ' -ac_name=' + _chain : '') + ' ' + _cmd + _params;
_arg = _arg.trim().split(' ');
execFile(komodocliBin, _arg, function(error, stdout, stderr) {
console.log(`stdout: ${stdout}`);
console.log(`stderr: ${stderr}`);
@ -1049,6 +1056,7 @@ shepherd.post('/cli', function(req, res, next) {
}
res.end(JSON.stringify(responseObj));
shepherd.killRogueProcess('komodo-cli');
});
}
}
@ -2132,7 +2140,9 @@ function herder(flock, data) {
console.log(`daemon param ${data.ac_custom_param}`);
coindInstanceRegistry[data.ac_name] = true;
exec(`${komododBin} ${coindACParam}${data.ac_options.join(' ')}${_customParam}`, {
let _arg = `${coindACParam}${data.ac_options.join(' ')}${_customParam}`;
_arg = _arg.trim().split(' ');
execFile(`${komododBin}`, _arg, {
maxBuffer: 1024 * 10000 // 10 mb
}, function(error, stdout, stderr) {
shepherd.writeLog(`stdout: ${stdout}`);
@ -2549,16 +2559,16 @@ function formatBytes(bytes, decimals) {
const k = 1000;
const dm = (decimals + 1) || 3;
const sizes = [
'Bytes',
'KB',
'MB',
'GB',
'TB',
'PB',
'EB',
'ZB',
'YB'
];
'Bytes',
'KB',
'MB',
'GB',
'TB',
'PB',
'EB',
'ZB',
'YB'
];
const i = Math.floor(Math.log(bytes) / Math.log(k));
return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`;

Loading…
Cancel
Save