Module: SolidQueue::Job::Retryable

Extended by:
ActiveSupport::Concern
Defined in:
app/models/solid_queue/job/retryable.rb

Instance Method Summary collapse

Instance Method Details

#failed_with(exception) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
# File 'app/models/solid_queue/job/retryable.rb', line 18

def failed_with(exception)
  FailedExecution.transaction(requires_new: true) do
    FailedExecution.create!(job_id: id, exception: exception)
  end
rescue ActiveRecord::RecordNotUnique
  if (failed_execution = FailedExecution.find_by(job_id: id))
    failed_execution.exception = exception
    failed_execution.save!
  else
    retry
  end
end

#reset_execution_countersObject



31
32
33
34
35
# File 'app/models/solid_queue/job/retryable.rb', line 31

def reset_execution_counters
  arguments["executions"] = 0
  arguments["exception_executions"] = {}
  save!
end

#retryObject



14
15
16
# File 'app/models/solid_queue/job/retryable.rb', line 14

def retry
  failed_execution&.retry
end