Class: Cosmo::ActiveJobAdapter::Adapter

Inherits:
Object
  • Object
show all
Defined in:
lib/cosmo/active_job/adapter.rb

Overview

ActiveJob queue adapter that enqueues jobs via NATS JetStream.

Usage:

config.active_job.queue_adapter = :cosmonats
# or explicitly:
config.active_job.queue_adapter = Cosmo::ActiveJobAdapter::Adapter.new

The ActiveJob queue name maps directly to the Cosmo stream name.

Instance Method Summary collapse

Instance Method Details

#enqueue(job) ⇒ Object

Enqueue a job to be run as soon as possible.

Parameters:

  • job (ActiveJob::Base)


16
17
18
# File 'lib/cosmo/active_job/adapter.rb', line 16

def enqueue(job)
  publish(job, nil)
end

#enqueue_at(job, timestamp) ⇒ Object

Enqueue a job to be run at (or after) a given time.

Parameters:

  • job (ActiveJob::Base)
  • timestamp (Numeric)

    Unix timestamp (seconds, float)



23
24
25
# File 'lib/cosmo/active_job/adapter.rb', line 23

def enqueue_at(job, timestamp)
  publish(job, timestamp)
end