Sha256: 5b7c76d64b86d35277000c6beb32f2ff83d560f82ef97360bade8ff9d0f12359

Contents?: true

Size: 589 Bytes

Versions: 1

Compression:

Stored size: 589 Bytes

Contents

module Workhorse
  class Enqueuer
    # Enqueue any object that is serializable and has a `perform` method
    def self.enqueue(job, queue: nil)
      return DbJob.create!(
        queue: queue,
        handler: Marshal.dump(job)
      )
    end

    # Enqueue an ActiveJob job
    def self.enqueue_active_job(job)
      enqueue job, queue: job.queue_name
    end

    # Enqueue the execution of an operation by its class and params
    def self.enqueue_op(cls, params, queue: nil)
      job = Workhorse::Jobs::RunRailsOp.new(cls, params)
      enqueue job, queue: queue
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
workhorse-0.0.2 lib/workhorse/enqueuer.rb