Runic.Runner.Scheduler.FlowBatch (Runic v0.1.0-alpha.7)

Copy Markdown View Source

Scheduler strategy that detects both sequential chains and parallel batch opportunities.

Extends the chain-detection logic from Runic.Runner.PromiseBuilder with independent-runnable grouping: after sequential chains are extracted, any remaining standalone runnables that share no graph edges are grouped into a single :parallel Promise for concurrent execution via Flow (or Task.async_stream as fallback).

Options

  • :min_chain_length — minimum chain length to form a sequential Promise (default: 2)
  • :min_batch_size — minimum group size to form a parallel Promise (default: 4)
  • :flow_stages — max Flow stages for parallel Promises (default: System.schedulers_online())
  • :flow_max_demand — Flow max_demand per stage (default: 1)