Module: Rollbar::Delayed
- Defined in:
- lib/rollbar/plugins/delayed_job/plugin.rb,
lib/rollbar/plugins/delayed_job/job_data.rb
Defined Under Namespace
Classes: JobData, RollbarPlugin
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.wrapped ⇒ Object
Returns the value of attribute wrapped.
7
8
9
|
# File 'lib/rollbar/plugins/delayed_job/plugin.rb', line 7
def wrapped
@wrapped
end
|
Class Method Details
.build_job_data(job) ⇒ Object
60
61
62
63
64
|
# File 'lib/rollbar/plugins/delayed_job/plugin.rb', line 60
def self.build_job_data(job)
return nil unless ::Rollbar.configuration.report_dj_data
JobData.new(job).to_hash
end
|
.invoke_job_callback ⇒ Object
36
37
38
39
40
41
42
43
44
45
46
|
# File 'lib/rollbar/plugins/delayed_job/plugin.rb', line 36
def self.invoke_job_callback
proc do |job, *args, &block|
begin
block.call(job, *args)
rescue => e
report(e, job)
raise e
end
end
end
|
.report(e, job) ⇒ Object
48
49
50
51
52
53
54
|
# File 'lib/rollbar/plugins/delayed_job/plugin.rb', line 48
def self.report(e, job)
return if skip_report?(job)
data = build_job_data(job)
::Rollbar.scope(:request => data).error(e, :use_exception_level_filters => true)
end
|
.skip_report?(job) ⇒ Boolean
56
57
58
|
# File 'lib/rollbar/plugins/delayed_job/plugin.rb', line 56
def self.skip_report?(job)
job.attempts < ::Rollbar.configuration.dj_threshold
end
|
.wrap_worker ⇒ Object
22
23
24
25
26
27
28
|
# File 'lib/rollbar/plugins/delayed_job/plugin.rb', line 22
def self.wrap_worker
return if wrapped
::Delayed::Worker.plugins << RollbarPlugin
self.wrapped = true
end
|
.wrap_worker! ⇒ Object
30
31
32
33
34
|
# File 'lib/rollbar/plugins/delayed_job/plugin.rb', line 30
def self.wrap_worker!
self.wrapped = false
wrap_worker
end
|