Module: Axn::Async::BatchEnqueue::DSL
- Defined in:
- lib/axn/async/batch_enqueue.rb
Overview
DSL methods for batch enqueueing
Instance Method Summary collapse
-
#enqueue_all(**static_args) ⇒ String
Batch enqueue jobs for this action.
-
#enqueues_each(field, from: nil, via: nil, &filter_block) ⇒ Object
Declare a field to iterate over for batch enqueueing.
Instance Method Details
#enqueue_all(**static_args) ⇒ String
Batch enqueue jobs for this action.
Validates async is configured, validates static args, then executes iteration asynchronously via EnqueueAllOrchestrator.
Fields with ‘model:` declarations are automatically inferred for iteration. You can override iteration by passing enumerables (to replace source) or scalars (to make fields static) as kwargs.
76 77 78 |
# File 'lib/axn/async/batch_enqueue.rb', line 76 def enqueue_all(**static_args) EnqueueAllOrchestrator.enqueue_for(self, **static_args) end |
#enqueues_each(field, from: nil, via: nil, &filter_block) ⇒ Object
Declare a field to iterate over for batch enqueueing.
Note: Fields with ‘model:` declarations are automatically inferred, so `enqueues_each` is only needed to override defaults, add filtering, or iterate non-model fields.
93 94 95 |
# File 'lib/axn/async/batch_enqueue.rb', line 93 def enqueues_each(field, from: nil, via: nil, &filter_block) self._batch_enqueue_configs += [Config.new(field:, from:, via:, filter_block:)] end |