do less work when standalone
This commit is contained in:
parent
44518f9d61
commit
6f386cb159
21
master.js
21
master.js
@ -26,16 +26,15 @@ function getMethods(inst, keys) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports.create = function (opts) {
|
function setup(opts) {
|
||||||
var PromiseA = opts.PromiseA || global.Promise || require('bluebird');
|
|
||||||
var crypto = require('crypto');
|
var crypto = require('crypto');
|
||||||
var inst = opts.instance;
|
|
||||||
var methods = getMethods(opts.instance, opts.methods);
|
var methods = getMethods(opts.instance, opts.methods);
|
||||||
var token = crypto.randomBytes(16).toString('hex');
|
var token = crypto.randomBytes(16).toString('hex');
|
||||||
var msgPrefix = 'cluster-rpc.' + opts.name;
|
var msgPrefix = 'cluster-rpc.' + opts.name;
|
||||||
var rpcPrefix = msgPrefix + '.rpc';
|
var rpcPrefix = msgPrefix + '.rpc';
|
||||||
var resultPrefix = msgPrefix + '.result';
|
var resultPrefix = msgPrefix + '.result';
|
||||||
var initPrefix = msgPrefix + '.init';
|
var initPrefix = msgPrefix + '.init';
|
||||||
|
var inst = opts.instance;
|
||||||
|
|
||||||
opts.master = opts.master || require('./process/master').create();
|
opts.master = opts.master || require('./process/master').create();
|
||||||
|
|
||||||
@ -87,9 +86,21 @@ module.exports.create = function (opts) {
|
|||||||
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
opts._promise = PromiseA.resolve(inst);
|
module.exports.create = function (opts) {
|
||||||
opts._promise.addWorker = opts.master.addWorker;
|
var PromiseA = opts.PromiseA || global.Promise || require('bluebird');
|
||||||
|
var init = false;
|
||||||
|
|
||||||
|
opts._promise.addWorker = function (w) {
|
||||||
|
if (!init) {
|
||||||
|
init = true;
|
||||||
|
setup();
|
||||||
|
}
|
||||||
|
return opts.master.addWorker(w);
|
||||||
|
};
|
||||||
|
|
||||||
|
opts._promise = PromiseA.resolve(opts.instance);
|
||||||
|
|
||||||
return opts._promise;
|
return opts._promise;
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user