Sha256: 4b73e87d7787a0324420de42a795dfde66b2cb7bfd8acc1cf6e942c53c188b7c

Contents?: true

Size: 439 Bytes

Versions: 2

Compression:

Stored size: 439 Bytes

Contents

require 'jobi/utils'

module Jobi
  class Runner
    include Utils

    def initialize(payload:)
      @message = Marshal.load(payload)
    end

    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

    def job_duration
      Time.now.to_f - @message.started_at
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
jobi-0.2.1 lib/jobi/runner.rb
jobi-0.1.1 lib/jobi/runner.rb