Class: Delayed::JobTracking

Inherits:
Struct
  • Object
show all
Defined in:
lib/delayed/job_tracking.rb

Overview

lot more about what’s going on in Delayed Jobs as it’s needed.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeJobTracking

Returns a new instance of JobTracking.



27
28
29
30
31
# File 'lib/delayed/job_tracking.rb', line 27

def initialize
  super
  self.created = []
  @lock = Mutex.new
end

Instance Attribute Details

#createdObject

Returns the value of attribute created

Returns:

  • (Object)

    the current value of created



9
10
11
# File 'lib/delayed/job_tracking.rb', line 9

def created
  @created
end

Class Method Details

.job_created(job) ⇒ Object



18
19
20
# File 'lib/delayed/job_tracking.rb', line 18

def self.job_created(job)
  @current_tracking.try(:job_created, job)
end

.trackObject



10
11
12
13
14
15
16
# File 'lib/delayed/job_tracking.rb', line 10

def self.track
  @current_tracking = self.new
  yield
  tracking = @current_tracking
  @current_tracking = nil
  tracking
end

Instance Method Details

#job_created(job) ⇒ Object



22
23
24
25
# File 'lib/delayed/job_tracking.rb', line 22

def job_created(job)
  return unless job
  @lock.synchronize { self.created << job }
end