the-shepherd
Version:
Control a herd of wild processes.
38 lines (32 loc) • 1.15 kB
JavaScript
// Generated by CoffeeScript 2.5.1
(function() {
var $, Groups, echo, echoResponse, int, required, verbose, warn;
({$, echo, warn, verbose, required, echoResponse} = require('../common'));
({Groups} = require('../daemon/groups'));
({int} = require('../util/format'));
Object.assign(module.exports, {
options: [["--group <group>", "Which group to scale."], ["--count <n>", "How many processes should be running.", int]],
toMessage: function(cmd) {
return {
c: 'scale',
g: cmd.group,
n: cmd.count
};
},
onMessage: function(msg, client) {
var acted;
acted = required(msg, 'g', "--group is required with 'scale'" && (Groups.has(msg.g) || warn(`Unknown group name passed to --group ('${msg.g}')`)) && Groups.get(msg.g).scale(msg.n));
if (acted) {
if (client != null) {
client.write($.TNET.stringify(`Scaled group to ${msg.n} processes.`));
}
} else {
if (client != null) {
client.write($.TNET.stringify("Nothing to scale."));
}
}
return acted;
},
onResponse: echoResponse
});
}).call(this);