spdl.pipeline.build_pipeline¶
- build_pipeline(pipeline_cfg: PipelineConfig[T, U], /, *, num_threads: int, max_failures: int = -1, report_stats_interval: float = -1, queue_class: type[AsyncQueue[...]] | None = None, task_hook_factory: Callable[[str], list[TaskHook]] | None = None, stage_id: int = 0) Pipeline[U][source]¶
Build a pipeline from the config.
- Parameters:
pipeline_cfg – The definition of the pipeline to build.
num_threads –
The number of threads in the thread pool commonly used among Pipeline stages.
Note
If a stage in the pipeline has dedicated executor, that stage will use it.
max_failures – The maximum number of failures each pipe stage can have before the pipeline is halted. Setting
-1(default) disables it.report_stats_interval –
When provided, report the pipeline performance stats every given interval. Unit: [sec]
This is only effective if there is no custom hook or custom AsyncQueue provided for stages. The argument is passed to
TaskStatsHookandStatsQueue.If a custom stage hook is provided and stats report is needed, you can instantiate
TaskStatsHookand include it in the hooks provided toPipelineBuilder.pipe().Similarly if you are providing a custom
AsyncQueueclass, you need to implement the same logic by your self.queue_class – If provided, override the queue class used to connect stages. Must be a class (not an instance) inherits
AsyncQueue.task_hook_factory – If provided, used to create task hook objects, given a name of the stage. If
None, a default hook,TaskStatsHookis used. To disable hooks, provide a function that returns an empty list.stage_id – The index of the initial stage used for logging.