Skip to content

Provide an async/queued execution flow for QPU tasks #6

Description

@corgab

Context

The package actively discourages synchronous execution on real hardware: QuantumExecutionException::synchronousUnsafe() tells the user to "Use dispatch() or queue() instead", and synchronous_safe: false makes ->run() throw. But there is currently no tool to actually run asynchronouslybin/python/circuit.py only ever calls the blocking task.result().

On real Braket QPUs a task is intrinsically async: you submit a circuit, get a task ARN back immediately, and poll/retrieve the result later (minutes to hours). Today the guard is a prohibition without an alternative: the package tells you not to run synchronously but gives you no supported way to run asynchronously.

This is a prerequisite for the production, multi-provider direction of the package: every real QPU backend is async, so a submit → store handle → retrieve flow is mandatory before the package can be used against real hardware in production.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions