UNPKG

929 BJavaScriptView Raw
1var cluster = require("cluster");
2var infrastructure = require("./index.js");
3
4module.exports.start = function(config, cb){
5
6 module.exports.stringified_config = JSON.stringify(config);
7
8 if(config.process_mode === "cluster" && cluster.isMaster){
9 cluster.setupMaster({
10 exec: __filename,
11 args: [ module.exports.stringified_config ]
12 });
13 }
14
15 var config_copy = JSON.parse(module.exports.stringified_config);
16 config_copy.mode = "test";
17 infrastructure( config_copy, function(err, env){
18 if(err) return module.exports.cleanup(err, cb);
19 module.exports.env = env;
20 cb(null, env);
21 });
22}
23
24module.exports.cleanup = function(err, cb){
25 delete module.exports.env;
26 delete module.exports.stringified_config;
27 cb(err);
28};
29
30if(cluster.isWorker){
31 module.exports.start(JSON.parse(process.argv[2]), function(err){
32 if(err) return console.error(err);
33 });
34}