1. Nov 17th, 2005

    Reliable Messaging for Ruby

    63760739_42e72b9ed1[1].jpg

    Reliable What?

    Reliable messaging and queuing for Ruby. A way to exchange messages asynchronously, and build systems that scale better.

    • Simple API: put and get.
    • Transactions for dealing with message processing errors.
    • Best effort, repreated and exactly once delivery modes.
    • Selectors for processing specific messages.
    • MySQL or file system for message store (or write your own).

    Because …

    It’s easier to build loosely coupled systems if you can queue a message from one place, process it in another, and not require both parts of the system to be running at the same time.

    • Responsive UI: Perform lengthy operations in the background instead of having the user wait.
    • Balance workload: Break heavy processing into smaller tasks, queue them, and distribute processing across servers.
    • Mask failure: Simpler failure handling when dealing with disconnected and unreliable services.
    • All the cool kids have it.

    Last seen at

    You can download the Gem/sources form RubyForge

    http://rubyforge.org/projects/reliable-msg/

    The documentation

    http://trac.labnotes.org/cgi-bin/trac.cgi/wiki/Ruby/ReliableMessaging

    SVN (living on the edge)

    http://trac.labnotes.org/cgi-bin/trac.cgi/browser/reliable-msg/

    And watch this blog for upcoming posts and releases.

    Image by ehecatzin

    1. Jan 30th, 2009

      jose

      Is the project alive?

      trac is down and when starts queues gets:

      $ /var/lib/gems/1.8/bin/queues manager start
      /var/lib/gems/1.8/gems/reliable-msg-1.1.0/lib/reliable-msg/queue-manager.rb:207:in `initialize’: uninitialized constant ReliableMsg::QueueManager::Logger (NameError)
      from /var/lib/gems/1.8/gems/reliable-msg-1.1.0/lib/reliable-msg/cli.rb:108:in `new’
      from /var/lib/gems/1.8/gems/reliable-msg-1.1.0/lib/reliable-msg/cli.rb:108:in `run’
      from /var/lib/gems/1.8/gems/reliable-msg-1.1.0/bin/queues:7
      from /var/lib/gems/1.8/bin/queues:18:in `load’
      from /var/lib/gems/1.8/bin/queues:18

    2. Mar 17th, 2010

      Terry Bates

      The “fix” appears to be simply to edit the “queue-manager.rb” file and insert a line at the top of the file:

      require ‘logger’

      After that, it should not complain, since the error seems to indicate that it it interpreting “Logger” as an uninitialized constant, with constants seeming to begin with capitalized initials.

    Your comment, here ⇓