Async vs sync workflow
Async vs sync workflow in Stratix — when work is queued, when it's immediate, what to expect.
Last updated
Was this helpful?
Async vs sync workflow in Stratix — when work is queued, when it's immediate, what to expect.
Stratix has two operational modes: synchronous (immediate response) and asynchronous (queued, results stream in). Knowing which mode applies prevents most "why is this taking so long?" surprises.
These return immediately:
Browsing the catalog
Fetching a model, benchmark, or saved evaluation
Reading a trace
Creating a judge or scorer (definition only)
Generating an API key
These queue:
Running an evaluation
Running a trace evaluation
Running GEPA optimization
Ingesting a large trace batch
For async operations:
The API returns a handle (an evaluation ID, optimization ID, etc.)
The work runs in the background
You poll for status, subscribe via SSE, or call wait_for_completion(...) in the SDK
The SDK has helpers like:
Async-equivalent:
Async work queues per-tenant. Most queues drain in seconds; large GEPA optimizations or large evaluation batches may take minutes.
Async runs that fail report a failure status with an error code. The SDK exception classes (APIError, NotFoundError, etc.) cover both immediate and async errors.
Last updated
Was this helpful?
Was this helpful?
result = client.evaluations.wait_for_completion(eval_id, timeout=300)result = await client.evaluations.wait_for_completion(eval_id, timeout=300)