Jobs
In this module, you will learn how to use the qBraid SDK to manage your quantum jobs.
The device module illustrated how qBraid device wrappers can be used execute circuits on quantum backends. Using the OQC Lucy QPU as our example target backend, the procedure was as follows:
>>> from qbraid import device_wrapper
>>> qbraid_id = 'aws_oqc_lucy'
>>> qdevice = device_wrapper(qbraid_id)
>>> qjob = qdevice.run(circuit)
>>> type(qjob)
qbraid.devices.aws.job.BraketQuantumTaskWrapper
Invoking the run
method of a qBraid DeviceLikeWrapper
returns a qBraid
JobLikeWrapper
. Through a unified set of methods and attributes, this class
provides access to data about the quantum jobs executed across any qBraid supported
backend. You can also directly access the wrapped “job-like” object using the
vendor_jlo
attribute.
>>> type(qjob.vendor_jlo)
braket.aws.aws_quantum_task.AwsQuantumTask
Check the status of your quantum job using the status
method:
>>> qjob.status()
<JobStatus.QUEUED: 1>
Each quantum job executed through the qBraid SDK is assigned its own unique job ID.
>>> qjob.id
aws_oqc_lucy-exampleuser-qjob-xxxxxxxxxxxxxxxxxxxx
You can use the get_jobs
function to a return a list of your previously
submitted quantum jobs, along with the status of each. A number of filtering options
are available to help narrow your search. Query syntax is equivalent to that
of the get_devices
unified device search.
By default, get_jobs
returns the 10 most recently submitted jobs matching your search.
>>> from qbraid import get_jobs
>>> get_jobs(filters={"qbraidDeviceId": "aws_oqc_lucy"})
Displaying 10 most recent jobs matching query:
Job ID Submitted Status
------ --------- ------
aws_oqc_lucy-exampleuser-qjob-xxxxxxxxxxxxxxxxxxxx 2023-05-21T21:13:48.220Z RUNNING
aws_oqc_lucy-exampleuser-qjob-yyyyyyyyyyyyyyyyyyyy 2023-04-15T11:09:56.783Z COMPLETED
...
This job ID can be used to reinstantiate a qBraid JobLikeWrapper
object at any
time, and even in a seperate program, with no loss of information.
>>> from qbraid import job_wrapper
>>> saved_job_id = 'aws_oqc_lucy-exampleuser-qjob-xxxxxxxxxxxxxxxxxxxx'
>>> qjob = job_wrapper(saved_job_id)
Once the quantum job is complete, use the result
method to gather the result:
>>> qjob.wait_for_final_state()
>>> qjob.status()
<JobStatus.COMPLETED: 6>
>>> qresult = qjob.result()
Jobs submitted through the SDK are organized in the qBraid Lab Quantum Jobs Sidebar:

The next module will go in depth on qBraid SDK quantum results.