*/ require( 'colors' ); var ServiceDiscovery = require('node-discovery'); var _ = require('underscore'); var mq = require('amqp'); var discovery = new ServiceDiscovery(); discovery.advertise({ name: 'service.register', pid: process.pid }); discovery.need('service.queue'); discovery.on('ready', function(services) { console.log( 'service.register:ready'.yellow ); var rabbit = mq.createConnection(services['service.queue'].config); rabbit.on('ready', function() { console.log( 'rabbit:ready'.yellow, process.pid ); var done = _.after(2, function() { register.subscribe({ack: true, prefetchCount: 1}, function( message, headers, deliveryInfo) { // TODO: register the user //console.log('user registration', message);
require('colors'); var discovery = new ServiceDiscovery(); var redis, rabbit; var register, creation; var emitter = new EventEmitter(); discovery.advertise({ name: 'service.web', pid: process.pid, ready: false }); discovery.need('service.queue', 'service.data.redis'); discovery.setup('service.queue', function(service, callback) { console.log( 'discovery.setup:service.queue', service ); rabbit = mq.createConnection(service.config); rabbit.on('ready', function() { return; var done = _.after(2, callback); var next = _.after(2, function() { creation.bind(exchange, ''); creation.subscribe({ack: false, prefetchCount: 0}, emitter.emit.bind(emitter, 'create')); done();