lane_consumer

lane_consumer #

CategoryScope
Queuepipeline (batch host)

Consumes an in-memory lane in competing micro-batches and executes a record sub-chain per batch, stage-wise in written order. Records arrive as live pointers (no codec decode). Surviving records are optionally encoded once into an output_queue durable bridge — the memory-to-disk counterpart of output{lane}.

Use it to parallelize or re-shape the tail of a lane pipeline: several lane_consumer steps (or multiple workers) compete on the same lane, each record is delivered to exactly one of them.

Configuration #

FieldTypeDefaultDescription
lanestringrequiredLane to consume. Must exist (lane: stanza or created by an upstream output{lane}).
batch_maxint64Records per micro-batch (flush on size).
batch_flush_msint100Flush an idle partial batch after this window.
on_failurestring“tag”Sub-chain failure strategy: tag (default), dead_letter:<queue>, or ignore.
failure_tagstring“_processing_failed”Tag appended to the record when on_failure is tag.
output_queuestringOptional durable bridge: surviving records encode once into this queue.
output_codecstringOverride the codec used for the output_queue encode.
processorlist (processor configs)requiredRecord-scope sub-chain executed per batch, stage-wise in written order.

Example #

Parallel aggregation tail: two workers compete on the raw lane, each aggregates bulk payloads and hands them to the send lane (paired with bulk_indexing_lane):

processor:
  - lane_consumer:
      lane: ingest-lane-<streamID>
      batch_max: 64
      batch_flush_ms: 100
      processor:
        - merge_to_bulk:
            output_queue: { name: bulk-<streamID> }
Edit Edit this page