Sha256: a183d1c5f8dd2673481ee2500db339911da8eed477b984d5507f1a07d66ae2da
Contents?: true
Size: 956 Bytes
Versions: 2
Compression:
Stored size: 956 Bytes
Contents
module Lux::DelayedJob extend self @@server = nil def server=(name) adapter = "Lux::DelayedJob::#{name.to_s.capitalize}" @@server = adapter.constantize rescue NameError die('No adapter %s not found' % adapter) end def push(object, method_to_call=nil) die "No DelayedJob server defined" unless @@server @@server.push [object, method_to_call] end def pop obj, method_to_call = @@server.pop return unless obj puts "JOB POP> #{obj.to_s}.#{method_to_call}".yellow if method_to_call begin obj.send(method_to_call) rescue puts("Lux::DelayedJob.pop FAIL for :#{method_to_call} (#{$!.message})".red) end else eval(obj) end true end def run!(seconds=2) puts "JOB QUE> is running for #{@@server}".green Thread.new do while true print '.' true while Lux::DelayedJob.pop sleep seconds end end.join end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
lux-fw-0.1.35 | ./lib/lux/delayed_job/delayed_job.rb |
lux-fw-0.1.17 | ./lib/lux/delayed_job/delayed_job.rb |