do less work when standalone

This commit is contained in:
AJ ONeal 2016-09-08 17:48:14 -06:00
parent 44518f9d61
commit 6f386cb159
1 changed files with 16 additions and 5 deletions

View File

@ -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;
};