./lib/lux/delayed_job/delayed_job.rb in lux-fw-0.2.3 vs ./lib/lux/delayed_job/delayed_job.rb in lux-fw-0.5.32

- old
+ new

@@ -1,39 +1,46 @@ module Lux::DelayedJob extend self - @@server = nil + attr_reader :server + @server = :memory + def server= name adapter = "Lux::DelayedJob::#{name.to_s.capitalize}" - @@server = adapter.constantize + @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] + die "No DelayedJob server defined" unless @server + @server.push [object, method_to_call] end def pop - obj, method_to_call = @@server.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 + def run! seconds=1 + puts "JOB QUE> is running for #{@server}".green + Thread.new do while true print '.' true while Lux::DelayedJob.pop sleep seconds