Queueue is a Ruby implementation of the AWS SQS (Amazon Simple Queue Service) server REST API. Queues and messages on Queueue are not persisted, only stored in memory and are gone when the service is shut down.
Current version is 0.0.8
Queueue depends on Sinatra.
I use Queueue for testing SQS code locally. I recently started using it as a means of instrumenting concurrent Ruby processes. It would be nice to hear of any other things people do with it. Do consider leaving a comment with any interesting usages you might come up with. Ditto for bugs, patches or features you'd like to see.
Queueue was, of course, inspired by Park Place.
gem install queueue-<version>.gem -y
Invoke "queueue" from the command line to start the server.
Currently, only one user is supported. The default values of the Access Key ID and Secret Access Key are both "queueue".
A configuration file named queueue.yml will be picked up and used by Queueue if found on the same location where queueue was invoked from. The contents of queueue.yml should look like this:
host: "127.0.0.1" port: "2323" access_key_id: "iamtheworldthathides" secret_access_key: "theuniversalsecretofalltime" log_file: "queueue.log"
Queueue can be embedded in Ruby programs, i.e. used independent of its RESTful HTTP interface. Requiring queueue will load a Mongrel independent version of the QueueService API.
For example:
require 'rubygems' require 'queueue' service = Queueue::QueueService.new service.create_queue 'q' service.send_message 'q', 'Message body...' messages = service.receive_message 'q' messages.first.body # => "Message body..."
Queueue doesn't yet support the following SQS features:
Error messages are not the same as the ones SQS returns, but validation, error format and codes should be identical.
You might want to subscribe to the nutrun feed, as I will be posting updates on subsequent Queueue releases there.
Queueue is copyright © 2007nutrun.com. Queueue is Open Source Software - LICENSE