Runner Architecture¶
The runner package has two execution paths:
- Local testing -
DurableFunctionLocalTestRunnerruns the handler in process and injectsInMemoryServiceClientso checkpoint operations are processed locally. - Cloud testing -
DurableFunctionCloudTestRunnerinvokes a qualified Lambda function and polls for durable execution completion.
Local execution flows through these major components:
DurableTestRunnerstarts execution throughExecutor.Executorcreates anExecutionand schedules the initial invocation on the local asyncio event loop.- During execution, checkpoint updates are handled by
CheckpointProcessor. - Operation-specific validators and processors transform updates into step, wait, callback, context, and execution operations.
ExecutionNotifierpublishes lifecycle events.Executorobserves those events asynchronously and updates execution state until completion.DurableFunctionTestResultexposes status, result payloads, and named operation lookup helpers.
Architecture diagrams: