1
0
Fork 0
mirror of https://github.com/mperham/sidekiq.git synced 2022-11-09 13:52:34 -05:00

added FailureJobs middleware

This commit is contained in:
Fredrik Björk 2012-02-18 19:49:59 -08:00
parent 92c1942363
commit 12d688f209
2 changed files with 25 additions and 0 deletions

View file

@ -11,6 +11,7 @@ require 'sidekiq/middleware/chain'
require 'sidekiq/middleware/server/active_record'
require 'sidekiq/middleware/server/airbrake'
require 'sidekiq/middleware/server/unique_jobs'
require 'sidekiq/middleware/server/failure_jobs'
require 'sidekiq/middleware/client/resque_web_compatibility'
require 'sidekiq/middleware/client/unique_jobs'

View file

@ -0,0 +1,24 @@
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.rpush(:failed, MultiJson.encode(data))
raise
end
end
end
end
end