[o] spec for jobs in the past (in and at)
[o] :discard_past
[o] every
[o] cron
[o] CHECK every and unschedule !!!
[o] :tags
[o] timeout feature (at/in/every/cron) in Job class
[o] :first_in, :first_at
[x] :dont_reschedule (or block returns false ?)
[o] [get_]jobs methods
[o] find methods
[x] CTRL-C during tests : allow, trap_int...
[o] 1.9
[o] j1.2.0
[o] revise trigger block arity
use a compatibility switch ? yes
[o] synchronize @cron_jobs ?
[o] why not : make it work even if EM is not present
EmScheduler < Scheduler
FiberScheduler < Scheduler
[x] :blocking => 'blockname' idea, mutex = @mutexes['blockname'] ...
[o] eventually, make sleep frequency customizable
[o] PlainScheduler : name thread
[o] document :blocking
[o] README.rdoc
[o] fix jruby120 --em
[o] handle_exception (job, e)
[o] Schedulable
[o] Rufus::Scheduler.start_new() : autodetect EM ?
[o] check :blocking and every (reschedule blocking...)
[o] document :thread_name scheduler option
[o] unify cron_jobs#trigger_matching_jobs(now) and jobs#job_to_trigger
[o] pluggable job queues
[ ] Joel's complaint about timeout jobs gone ballistic
[x] move trigger_job out of the scheduler