public
Description: Starling Message Queue - please contribute if you want commit access
Homepage: http://groups.google.com/group/starlingmq
Clone URL: git://github.com/starling/starling.git
ice799 (author)
Thu Apr 09 16:47:04 -0700 2009
gaffneyc (committer)
Fri Apr 10 08:29:54 -0700 2009
commit  cbb07c4e7af7f831512a70a926f80dbced94d2ff
tree    627021b00c9321286d95c970ce925ef741927347
parent  76ff9ca587960151329f7204589049b7c9682f61
name age message
file .gitignore Wed Apr 08 07:29:26 -0700 2009 Ignore common metadata. [gaffneyc]
file CHANGELOG Fri Apr 10 08:29:54 -0700 2009 drop privs permanently. [ice799]
file LICENSE Mon Apr 28 17:26:27 -0700 2008 Whitespace cleanup. Removed trailing whitespace. [grempe]
file README.rdoc Wed Apr 08 07:29:26 -0700 2009 THE VERSION DOES NOT WORK PROPERLY YET [haarts]
file Rakefile Loading commit data...
directory bin/ Tue Jun 24 04:07:46 -0700 2008 removed leftover client code, upgraded version ... [advany]
directory etc/ Wed Apr 08 07:30:22 -0700 2009 Version bump to 0.10.0 [gaffneyc]
directory lib/
directory spec/ Wed Apr 08 07:27:02 -0700 2009 fixed the spec in which memcache raises an erro... [haarts]
file starling.gemspec Wed Apr 08 07:30:22 -0700 2009 Version bump to 0.10.0 [gaffneyc]
README.rdoc

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 (http://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 http://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.