class Jobi::Runner

Public Class Methods

new(payload:) click to toggle source
# File lib/jobi/runner.rb, line 7
def initialize(payload:)
  @message = Marshal.load(payload)
end

Public Instance Methods

run() click to toggle source
# File lib/jobi/runner.rb, line 11
def run
  job = @message.job_class.new(**@message.args)
  job.run
  job.send(@message.after_run) if @message.after_run

  Jobi.logger.info("Completed in: #{job_duration}")
end

Private Instance Methods

job_duration() click to toggle source
# File lib/jobi/runner.rb, line 21
def job_duration
  Time.now.to_f - @message.started_at
end