3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/wat_catcher/sidekiq_middleware.rb', line 3
def call(worker, msg, queue)
begin
yield
rescue => excpt
u = nil
begin
if worker.class == Sidekiq::Extensions::DelayedClass
(worker,method_name,args) = YAML.load(msg["args"][0])
end
if worker.respond_to?(:wat_user) && worker.method(:wat_user).arity == msg["args"].length
u = worker.wat_user(*msg["args"])
else
u = { id: "jid_#{msg["jid"]}", jid: msg["jid"] }
end
rescue
end
WatCatcher::Report.new(excpt, user: u, sidekiq: msg)
raise
end
end
|