Port the recent changes to the pipeline run logic into AsyncPipeline
How did you test it?
Unit tests
Notes for the reviewer
The primary changes to the existing code:
_run_component calls the run_async method of the component if it exists. If not, launch the run method on an executor in the current event loop.
includes_outputs_from is removed as pipeline's run method returns an async iterator. The old behaviour can be reproduced with the new run_async_pipeline helper function.
_run_subgraph yields the output of each component greedily.
The test are copied from the core package. The lints might fail, but they will be fixed when the async-experiments branch is merged into main.
Proposed Changes:
Port the recent changes to the pipeline run logic into
AsyncPipeline
How did you test it?
Unit tests
Notes for the reviewer
The primary changes to the existing code:
_run_component
calls therun_async
method of the component if it exists. If not, launch therun
method on an executor in the current event loop.includes_outputs_from
is removed as pipeline's run method returns an async iterator. The old behaviour can be reproduced with the newrun_async_pipeline
helper function._run_subgraph
yields the output of each component greedily.The test are copied from the core package. The lints might fail, but they will be fixed when the
async-experiments
branch is merged intomain
.Checklist
fix:
,feat:
,build:
,chore:
,ci:
,docs:
,style:
,refactor:
,perf:
,test:
.