87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
# File 'lib/traceview/inst/resque.rb', line 87
def perform_with_traceview(job)
report_kvs = {}
begin
report_kvs[:Spec] = :job
report_kvs[:Flavor] = :resque
report_kvs[:JobName] = job.payload['class'].to_s
report_kvs[:Queue] = job.queue
report_kvs[:'HTTP-Host'] = Socket.gethostname
report_kvs[:Controller] = "Resque_#{job.queue}"
report_kvs[:Action] = job.payload['class'].to_s
report_kvs[:URL] = "/resque/#{job.queue}/#{job.payload['class']}"
if TraceView::Config[:resqueworker][:log_args]
kv_args = job.payload['args'].to_json
if kv_args.length > 1024
report_kvs[:Args] = kv_args[0..1023] + '...[snipped]'
else
report_kvs[:Args] = kv_args
end
end
report_kvs[:Backtrace] = TraceView::API.backtrace if TraceView::Config[:resqueworker][:collect_backtraces]
rescue => e
TraceView.logger.debug "[traceview/debug] #{__method__}:#{File.basename(__FILE__)}:#{__LINE__}: #{e.message}" if TraceView::Config[:verbose]
end
TraceView::API.start_trace(:'resque-worker', nil, report_kvs) do
perform_without_traceview(job)
end
end
|