1
0
Fork 0
mirror of https://github.com/mperham/sidekiq.git synced 2022-11-09 13:52:34 -05:00
mperham--sidekiq/lib/sidekiq/middleware/server/failure_jobs.rb
Mike Perham 74d0e5ec35 Upgrade to connection_pool 0.9.0
Remove all connection_pool usage of method_missing.
Change Sidekiq.redis API to require a block.
2012-03-14 09:56:13 -07:00

24 lines
585 B
Ruby

module Sidekiq
module Middleware
module Server
class FailureJobs
def call(*args)
yield
rescue => e
data = {
:failed_at => Time.now.strftime("%Y/%m/%d %H:%M:%S %Z"),
:payload => args[1],
:exception => e.class.to_s,
:error => e.to_s,
:backtrace => e.backtrace,
:worker => args[1]['class'],
:queue => args[2]
}
Sidekiq.redis {|conn| conn.rpush(:failed, MultiJson.encode(data)) }
raise
end
end
end
end
end