Name¶ ↑
Starling - a light weight server for reliable distributed message passing.
Description¶ ↑
Starling is a powerful but simple messaging server that enables reliable distributed queuing with an absolutely minimal overhead. It speaks the MemCache protocol for maximum cross-platform compatibility. Any language that speaks MemCache can take advantage of Starling’s queue facilities.
Installation¶ ↑
The Starling source is hosted at GitHub and can be found at: http://github.com/starling/starling/tree/master The original source was to be found at RubyForge but no longer exists there. GitHub serves gems prefixed by a username to differentiate different forks. This project can be installed with: # THIS COMMAND ONE TIME ONLY gem sources -a http://gems.github.com/ # As often as you like sudo gem install starling-starling See http://gems.github.com/ if you want more info about GitHub and gems.
Quick Start Usage¶ ↑
# View the Starling help and usage message starling --help # In a console window start the Starling server. By default # it runs verbosely in the foreground, listening on 127.0.0.1:22122 # and stores its files under /tmp/starling: starling # In a new console test the put and get of messages on a queue: irb >> require 'starling' => true >> starling = Starling.new('127.0.0.1:22122') => MemCache: 1 servers, ns: nil, ro: false >> starling.set('my_queue', 12345) => nil >> starling.get('my_queue') => 12345 # You can do a simple loop over a queue with something like: >> loop { puts starling.get('my_queue'); sleep 1 } 12345 nil nil ... For more information run the following in a new console: 'gem server' This will start a gem server on http://localhost:8808/ which you can view in your browser to see the RDocs for the gem. Or generate rdocs by running the following in a new console:
'rdoc'
Using memcache-client¶ ↑
memcache-client is now maintained by Mike Perham (www.mikeperham.com/) He is the current maintainer of the gem which is hosted at GitHub and can be found at:
http://github.com/mperham/memcache-client/tree/master
It can be installed using:
# THIS COMMAND ONE TIME ONLY gem sources -a gems.github.com/
# As often as you like sudo gem install memcache-client
Known Issues¶ ↑
-
Only tested with Memcache client 1.7.x and with SystemTimer (systemtimer.rubyforge.org/)
-
Starling is “slow” as far as messaging systems are concerned. In practice, it’s fast enough.
TODO¶ ↑
-
Implement memcached instead of memcache as a client interface (to make it faster)
Authors¶ ↑
-
Blaine Cook <romeda@gmail.com>
-
Chris Wanstrath <chris@ozmm.org>
-
AnotherBritt <?>
-
Glenn Rempe <?>
-
Abdul-Rahman Advany <abdulrahman@advany.com>
-
Harm Aarts <harmaarts@gmail.com>
Copyright¶ ↑
Starling - a light-weight server for reliable distributed message passing. Copyright 2007-2008 Blaine Cook <blaine@twitter.com>, Twitter Inc.