1 | var cluster = require("cluster");
|
2 | var infrastructure = require("./index.js");
|
3 |
|
4 | module.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 |
|
24 | module.exports.cleanup = function(err, cb){
|
25 | delete module.exports.env;
|
26 | delete module.exports.stringified_config;
|
27 | cb(err);
|
28 | };
|
29 |
|
30 | if(cluster.isWorker){
|
31 | module.exports.start(JSON.parse(process.argv[2]), function(err){
|
32 | if(err) return console.error(err);
|
33 | });
|
34 | }
|