@@ -8,7 +8,7 @@ def self.included(base)
88 base . extend ( ClassMethods )
99 base . attr_writer :job_queue
1010 base . attr_accessor :job_args , :job_id , :job_meta , :job_reenqueued , :job_retries ,
11- :perform_started_at , :perform_ended_at , :task_id
11+ :job_attempts , : perform_started_at, :perform_ended_at , :task_id
1212 end
1313
1414 #
@@ -47,7 +47,10 @@ def self.from_hash(hash)
4747 return nil unless worker_klass . include? ( self )
4848
4949 # Return instantiated worker
50- worker_klass . new ( **payload . slice ( :job_queue , :job_args , :job_id , :job_meta , :job_retries , :task_id ) )
50+ worker_klass . new ( **payload . slice (
51+ :job_queue , :job_args , :job_id , :job_meta ,
52+ :job_retries , :job_attempts , :task_id
53+ ) )
5154 rescue NameError
5255 nil
5356 end
@@ -176,11 +179,13 @@ def max_retries
176179 # @param [Array<any>] job_args The list of perform args.
177180 # @param [String] job_id A unique ID identifying this job.
178181 #
179- def initialize ( job_queue : nil , job_args : nil , job_id : nil , job_meta : { } , job_retries : 0 , task_id : nil )
182+ def initialize ( job_queue : nil , job_args : nil , job_id : nil , job_meta : { } , job_retries : 0 , job_attempts : 0 ,
183+ task_id : nil )
180184 @job_args = job_args || [ ]
181185 @job_id = job_id || SecureRandom . uuid
182186 @job_meta = MetaStore . new ( job_meta )
183187 @job_retries = job_retries || 0
188+ @job_attempts = job_attempts || 0
184189 @job_queue = job_queue
185190 @task_id = task_id
186191 end
@@ -331,6 +336,7 @@ def to_h
331336 job_args : job_args ,
332337 job_meta : job_meta . to_h ,
333338 job_retries : job_retries ,
339+ job_attempts : job_attempts ,
334340 job_queue : job_queue ,
335341 task_id : task_id
336342 }
0 commit comments