matthewrudy / rudeq

A rails DB-based queue plugin

This URL has Read+Write access

rudeq / README
100644 65 lines (46 sloc) 1.704 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
== Author
  Matthew Rudy Jacobs
 
== Contact
  MatthewRudyJacobs@gmail.com
 
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 index... 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 Email: MatthewRudyJacobs@gmail.com],
released under the MIT license