Example #1
0
var zmq = require('zmq'),
    _   = require('lodash'),
    busybee = require('busybee');

busybee.init({ name : 'service_1' });

/** busybee dependent */
var conf = busybee.conf,
    log = busybee.logger;

new busybee.cluster(conf)
  .master(function () {
    /** register the service */
    busybee.locator.register(conf.app.name, conf.sockets.service);

    var conn = new busybee.connection.broker(conf.sockets.broker.front, conf.sockets.broker.back, conf.app.name);
   })
  .worker(function () {
    var reqHandler = function(err, req) {
      if (err) return log.error(err);
      log.info('msg recieved: ' + req);

      var res = new Object();
      res.data = 'service_1 data on process: ' + process.pid + ' (node) with payload ' + req;

      return res;
    }

    var conn = new busybee.connection.worker(conf.sockets.worker, reqHandler);
  });
Example #2
0
/**
 * apidemo
 *
 * @author Simon Townsend <*****@*****.**>
 */

var versions = require('./lib/versions'),
    zmq      = require('zmq'),
    _        = require('lodash'),
    async    = require('async'),
    restify  = require('restify');

var busybee  = require('busybee');
busybee.init({ name : 'api', conf : '/etc/busybee/api' });

/** dependencies */
var conf    = busybee.conf,
    server;

/** server attachment */
server = restify.createServer({
  name:       conf.app.name,
  version:    conf.api.defaultVersion,
  acceptable: conf.server.acceptable
});

server.pre([
  restify.authorizationParser(),
]);

server.use([
Example #3
0
/*
* Req/Rep example
*
*/

var zmq = require('zmq'),
    _   = require('lodash'),
    busybee = require('busybee');

busybee.init({ name : 'test' });

/** busybee dependent */
var conf = busybee.conf,
    log = busybee.logger;

new busybee.cluster(conf)
  .master(function () {
    /** register the service */
    busybee.locator.register('test', conf.sockets.service);
    
    var reqHandler = function(err, req) {
      if (err) return log.error(err);

      log.info('msg recieved: ' + req.hello);
      var res = new Object();
      res.data = 'data on process: ' + process.pid + ' (node) with payload ' + req.hello;

      return res;
    }

    var conn = new busybee.connection.rep(conf.sockets.bind, reqHandler);
Example #4
0
/*
* Req/Rep example
*
*/

var zmq = require('zmq'),
    _   = require('lodash'),
    busybee = require('busybee');

busybee.init({ name : 'push_pull' });

// busybee dependent
var conf = busybee.conf,
    log = busybee.logger;

new busybee.cluster(conf)
  .master(function () {    
    // register the service
    busybee.locator.register('push_pull', conf.sockets.pull);
    
    // we need a reference to a Push connection prior to binding
    // so that we can first prepare out event handlers
    var conn = new busybee.connection.push();
    
    conn.on('error', function(err) {
      return log.error(err);
    });

    conn.on('ready', function() {
      // messages pushed will not be recieved by req sockets unless they have connected
      setTimeout(function() {