Skip to main content
Valiqor supports asynchronous execution for all analysis modules. This page covers the async patterns, job management, and batch processing.

How async works

When you submit a request, the backend decides whether to process it synchronously or asynchronously:
This is fully transparent — your code looks synchronous regardless:

Transparent vs explicit async

Use the standard methods — the SDK handles async automatically:
Your code blocks until the result is ready. Simple and clean.

AsyncJobHandle

All async methods return a job handle with the same interface:

Check status

Boolean checks

Wait for completion

Cancel

Properties


AsyncJobStatus fields

Helper properties:
  • status.is_runningTrue if still processing
  • status.is_completedTrue if completed successfully
  • status.is_failedTrue if failed or cancelled

Polling mechanism

The SDK uses HTTP polling — it calls the status endpoint in a loop with time.sleep():
There is no WebSocket-based progress in the SDK. For real-time progress, use the Valiqor Dashboard.

Batch dataset format

All analysis modules accept datasets as JSON arrays:

From a JSON file

Security dataset format

Security audits use a different schema:

Error handling


CLI async

All CLI commands support async with --async and status polling:

Failure Analysis →

Run FA on large datasets.

BYOK →

Use your own OpenAI key for faster processing.