class Jobler::JobRunner
Public Instance Methods
perform(job_id)
click to toggle source
# File lib/jobler/job_runner.rb, line 4 def perform(job_id) @job = Jobler::Job.find(job_id) @job.update!(started_at: Time.zone.now, state: "started") begin with_locale do @job.jobler.call_before_callbacks begin @job.jobler.execute! ensure @job.jobler.call_after_callbacks end end @job.update!(ended_at: Time.zone.now, progress: 1.0, state: "completed") rescue Exception => e # rubocop:disable Lint/RescueException @job.update!( ended_at: Time.zone.now, error_message: e.message, error_type: e.class.name, error_backtrace: e.backtrace.join("\n"), state: "error" ) end end
Private Instance Methods
with_locale() { || ... }
click to toggle source
# File lib/jobler/job_runner.rb, line 33 def with_locale if @job.locale? I18n.with_locale(@job.locale) do yield end else yield end end