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) {
|
||||
var PromiseA = opts.PromiseA || global.Promise || require('bluebird');
|
||||
function setup(opts) {
|
||||
var crypto = require('crypto');
|
||||
var inst = opts.instance;
|
||||
var methods = getMethods(opts.instance, opts.methods);
|
||||
var token = crypto.randomBytes(16).toString('hex');
|
||||
var msgPrefix = 'cluster-rpc.' + opts.name;
|
||||
var rpcPrefix = msgPrefix + '.rpc';
|
||||
var resultPrefix = msgPrefix + '.result';
|
||||
var initPrefix = msgPrefix + '.init';
|
||||
var inst = opts.instance;
|
||||
|
||||
opts.master = opts.master || require('./process/master').create();
|
||||
|
||||
@ -87,9 +86,21 @@ module.exports.create = function (opts) {
|
||||
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
opts._promise = PromiseA.resolve(inst);
|
||||
opts._promise.addWorker = opts.master.addWorker;
|
||||
module.exports.create = function (opts) {
|
||||
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;
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user