62 lines
898 B
JavaScript
Raw Permalink Normal View History

2016-09-08 16:23:40 -06:00
'use strict';
var cluster = require('cluster');
var crpc;
2018-04-20 19:13:48 -06:00
function runMaster() {
2016-09-08 16:23:40 -06:00
2018-04-20 19:13:48 -06:00
var db = {
get: function (key, cb) {
cb(null, db[key]);
}
, put: function (key, val, cb) {
db[key] = val;
if (cb) { cb(null); }
}
};
2016-09-08 16:23:40 -06:00
crpc = require('./master').create({
instance: db
, methods: [ 'get', 'put' ]
, name: 'foo-level'
});
crpc.then(function () {
db.put('foo', 'bar');
});
2016-09-08 18:25:08 -06:00
cluster.fork();
2016-09-08 16:23:40 -06:00
}
2018-04-20 19:13:48 -06:00
function runWorker() {
2016-09-08 16:23:40 -06:00
crpc = require('./worker').create({
name: 'foo-level'
});
}
2018-04-20 19:13:48 -06:00
if (cluster.isMaster) {
runMaster();
}
else {
runWorker();
}
2016-09-08 16:23:40 -06:00
crpc.then(function (db) {
setTimeout(function () {
db.get('foo', function (err, result) {
console.log(cluster.isMaster && '0' || cluster.worker.id.toString(), "db.get('foo')", result);
if (!cluster.isMaster) {
process.exit(0);
}
});
}, 250);
});