Class: ActiveJob::Temporal::BatchEnqueuer

Inherits:
Object
  • Object
show all
Defined in:
lib/activejob/temporal/batch_enqueuer.rb

Constant Summary collapse

MAX_BATCH_SIZE =
10_000
QUEUE_STOP =
Object.new.freeze

Instance Method Summary collapse

Constructor Details

#initialize(enqueue:, validate_job:, validate_scheduled_at:) ⇒ BatchEnqueuer

Returns a new instance of BatchEnqueuer.



11
12
13
14
15
# File 'lib/activejob/temporal/batch_enqueuer.rb', line 11

def initialize(enqueue:, validate_job:, validate_scheduled_at:)
  @enqueue_job = enqueue
  @validate_job = validate_job
  @validate_scheduled_at = validate_scheduled_at
end

Instance Method Details

#enqueue(items, concurrency: 1) ⇒ Object



17
18
19
20
21
22
23
24
25
# File 'lib/activejob/temporal/batch_enqueuer.rb', line 17

def enqueue(items, concurrency: 1)
  concurrency = validate_concurrency!(concurrency)
  entries = validate_entries!(items)
  results = Array.new(entries.length)

  enqueue_entries(entries, results, concurrency)

  BatchEnqueueResult.new(results)
end