async_executor¶
async_executor ¶
Asynchronous execution strategy.
Provides async/await support for non-blocking execution, ideal for integration with FastAPI, aiohttp, and other async frameworks.
AsyncExecutor ¶
Bases: ExecutionStrategy
Asynchronous execution strategy.
Uses asyncio for true non-blocking execution. Leverages LlamaIndex's async methods (acomplete) for concurrent LLM calls without threads.
Benefits: - Non-blocking (works with FastAPI, aiohttp) - Better resource utilization - Higher concurrency without thread overhead - Ideal for I/O-bound operations
Initialize async executor.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
max_concurrency
|
int
|
Maximum concurrent async tasks |
10
|
Source code in ondine/orchestration/async_executor.py
execute
async
¶
Execute stages asynchronously.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
stages
|
list[PipelineStage]
|
Pipeline stages |
required |
context
|
ExecutionContext
|
Execution context |
required |
Returns:
| Type | Description |
|---|---|
ExecutionResult
|
ExecutionResult with data and metrics |