Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A rails DB-based queue plugin

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 generators
Octocat-spinner-32 lib
Octocat-spinner-32 performance
Octocat-spinner-32 rdoc
Octocat-spinner-32 spec
Octocat-spinner-32 tasks
Octocat-spinner-32 .rspec
Octocat-spinner-32 Gemfile
Octocat-spinner-32 Gemfile.lock
Octocat-spinner-32 MIT-LICENSE
Octocat-spinner-32 README.md
Octocat-spinner-32 Rakefile
Octocat-spinner-32 rudeq.gemspec
README.md

RudeQ

A simple DB based queue, designed for situations where a server based queue is unnecessary.

INSTALL

This plugin requires Rails 2.* currently, and has only been tested on MySQL.

On rails 2.1 you can install straight from github:

ruby script/plugin install git://github.com/matthewrudy/rudeq.git

Else just check it out into your plugins directory:

git clone git://github.com/matthewrudy/rudeq.git vendor/plugins/rudeq

USAGE

After you've installed it just run

rake queue:setup

matthew@iRudy:~/code/jbequeueing $ rake queue:setup
(in /Users/matthew/code/jbequeueing)
    exists  app/models/
    exists  spec/fixtures/
    exists  spec/models/
    create  app/models/rude_queue.rb
    create  spec/fixtures/rude_queues.yml
    create  spec/models/rude_queue_spec.rb
    exists  db/migrate
    create  db/migrate/029_create_rude_queues.rb

and you're done. Fully tested, fully indexed... BOOM!

Now run migrations, start up a console, and;

RudeQueue.set(:queue_name, RandomObject)
RudeQueue.get(:queue_name)
RudeQueue.fetch(:queue_name) do |data|
  process(data)
end

And, to keep the queue running fast, set up a cron job to run

rake queue:cleanup

the cleanup will remove any queued items which have been processed longer than an hour ago.

rake queue:cleanup CLEANUP_TIME=86,400

will clear processed queue items processed longer than 86,400 seconds ago (1 day)

Try Yourself!

Copyright (c) 2008 Matthew Rudy Jacobs, released under the MIT license

Something went wrong with that request. Please try again.