Skip to content
Simple example of Twitter + AMQP + RabbitMQ + EventMachine + HTML5 WebSocket with no polling
Ruby
Pull request Compare This branch is 7 commits ahead, 6 commits behind rubenfonseca:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
client
.gitignore
Gemfile
README.textile
socket.rb
standalone.rb
twitterfeed.rb

README.textile

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. gem bundle (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! :)

Something went wrong with that request. Please try again.