0.02
No release in over 3 years
Low commit activity in last 3 years
A simple DB queueing library built on top of ActiveRecord.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

 Project Readme

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