Class: ActiveJob::QueueAdapters::RocketJobAdapter

Inherits:
Object
  • Object
show all
Defined in:
lib/rocket_job/extensions/rocket_job_adapter.rb

Overview

Rocket Job adapter for Active Job

Ruby’s missing batch system.

Read more about Rocket Job here.

To use Rocket Job set the queue_adapter config to :rocket_job.

Rails.application.config.active_job.queue_adapter = :rocket_job

Defined Under Namespace

Classes: JobWrapper

Instance Method Summary collapse

Instance Method Details

#enqueue(active_job) ⇒ Object

:nodoc:



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/rocket_job/extensions/rocket_job_adapter.rb', line 13

def enqueue(active_job) #:nodoc:
  rocket_job                 = JobWrapper.perform_later(active_job.serialize) do |job|
    job.active_job_id    = active_job.job_id
    job.active_job_class = active_job.class.name
    job.active_job_queue = active_job.queue_name
    job.description      = active_job.class.name
    job.priority         = active_job.priority if active_job.priority
  end
  active_job.provider_job_id = rocket_job.id.to_s
  rocket_job
end

#enqueue_at(active_job, timestamp) ⇒ Object

:nodoc:



25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/rocket_job/extensions/rocket_job_adapter.rb', line 25

def enqueue_at(active_job, timestamp) #:nodoc:
  rocket_job                 = JobWrapper.perform_later(active_job.serialize) do |job|
    job.active_job_id    = active_job.job_id
    job.active_job_class = active_job.class.name
    job.active_job_queue = active_job.queue_name
    job.description      = active_job.class.name
    job.priority         = active_job.priority if active_job.priority
    job.run_at           = Time.at(timestamp).utc
  end
  active_job.provider_job_id = rocket_job.id.to_s
  rocket_job
end