Sha256: b07ce067faa82c165c83bfa52e5a72f4764c9bb9af55d158b219059a57d56439
Contents?: true
Size: 1.21 KB
Versions: 2
Compression:
Stored size: 1.21 KB
Contents
module Resque module Failure # A Failure backend that stores exceptions in Mongo. Very simple but # works out of the box, along with support in the Resque web app. class Mongo < Base def save data = { :failed_at => Time.now.strftime("%Y/%m/%d %H:%M:%S"), :payload => payload, :exception => exception.class.to_s, :error => exception.to_s, :backtrace => Array(exception.backtrace), :worker => worker.to_s, :queue => queue } Resque.mongo_failures << data end def self.count Resque.mongo_failures.count end def self.all(start = 0, count = 1) all_failures = Resque.mongo_failures.find().skip(start).limit(count).to_a # all_failures.size == 1 ? all_failures.first : all_failures end def self.clear Resque.mongo_failures.remove end def self.requeue(index) item = all(index) item['retried_at'] = Time.now.strftime("%Y/%m/%d %H:%M:%S") Resque.mongo_failures.update({ :_id => item['_id']}, item) Job.create(item['queue'], item['payload']['class'], *item['payload']['args']) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
resque-igo-1.1.2 | lib/resque/failure/mongo.rb |
resque-igo-1.1.1 | lib/resque/failure/mongo.rb |