bin/firework
#!/usr/bin/env node
var Firework = require('../modules');
var argv = require('optimist')
.usage([
'Manage a firework instance',
'Usage: firework create-worker.js [ -w numWorkers ]',
'',
' The create-worker.js module should export a single function',
' that returns a new Firework.Worker object when invoked. This',
' function is used to create new workers as needed.'
].join('\n'))
.demand(1)
.options('w', { describe: 'The number of workers to run', default: 1 })
.argv;
var workerFile = require('path').join(process.cwd(), argv._[0]);
var createWorker = require(workerFile);
var runner = new Firework.Runner(createWorker);
runner.setNumberOfWorkers(argv.w);
process.once('SIGTERM', function () {
console.log('SIGTERM received, gracefully stopping all workers');
runner.stopAllWorkers(function () {
process.exit();
});
});