Permalink
Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
27 lines (16 sloc) 831 Bytes

Twitter AMQP WebSocket Example

Quick experiment of going from twitter to the browser, with no polling.

It goes something like this:

Twitter Stream → Filter → RabbitMQ → AMQP → EventMachine → WebSocket → HTML5 Browser

Since it uses a fanout exchange on RabbitMQ, it allows to have multiple clients connected to the eventmachine loop and receive the same real-time updates (and hopeful it will scale).

Requirements

  • Ruby
  • RabbitMQ
  • gem install bundler

How To

  1. bundle install (first time, to install the dependencies)
  2. rabbitmq-server # start rabbitmq
  3. ruby twitterfeed.rb twitter_username twitter_password # start the filter
  4. ruby socket.rb # on another shell

Then you can open client/index.html on a HTML5 WebSocket compatible browser (tested with Webkit nightly).

Read the code, and have fun! :)