Skip to content

Instantly share code, notes, and snippets.

@slayer
Created February 15, 2010 12:59
Show Gist options
  • Save slayer/304624 to your computer and use it in GitHub Desktop.
Save slayer/304624 to your computer and use it in GitHub Desktop.
var sys = require('sys'),
http = require('http');
//var process = require('process');
var amqp = require('./node-amqp/amqp');
var connection = amqp.createConnection({ host: 'localhost' });
var env = process.env.RAILS_ENV || 'development';
sys.puts('Environment: ' + env);
connection.addListener('ready', function () {
sys.puts('amqp ready');
var exchange = connection.exchange(env+'_tracker_data');
http.createServer(function (req, res) {
sys.puts('http client connected, creating queue');
var queue = connection.queue(new Date().getTime().toString(), {autoDelete: true});
queue.bind(exchange, "*");
sys.puts('binded');
queue.subscribe(function (message) {
sys.debug("--- Message (" + message.deliveryTag + ", '" + message.routingKey + "') ---");
sys.debug("--- contentType: " + message.contentType);
var size = 0;
var data = "";
message.addListener('data', function (d) { data += d; size += d.length; });
message.addListener('end', function () {
message.acknowledge();
res.sendHeader(200, {'Content-Type': 'text/plain'});
res.sendBody('some data');
sys.puts('sended: '+data);
res.finish();
sys.debug("--- END (" + message.deliveryTag + ", '" + message.routingKey + "') ---");
});
});
}).listen(8000);
});
sys.puts('Server running at http://127.0.0.1:8000/');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment