Monitor or cancel a job
View a list of your workloads on the Workloads page.
View job status
Go to your Workloads table and check under the Status column for whether a job has completed or failed.
View remaining usage
Go to your Instances table and select the tab associated with the plan you want to view remaining usage for. Total time used and total time remaining on your plan is displayed.
View metrics on number of jobs and workloads submitted
Go to the Analytics page to see the total number of jobs submitted, as well as a count of batch workloads and session workloads. Note that you can only see the Analytics page for accounts that you own or manage.
Monitor a job
Use the job instance to check the job status or retrieve the results by calling the appropriate command:
| job.result() | Review job results immediately after the job completes. Job results are available after the job completes. Therefore, job.result() is a blocking call until the job completes. |
| job.job_id() | Return the ID that uniquely identifies that job. Retrieving the job results at a later time requires the job ID. Therefore, it is recommended that you save the IDs of jobs you might want to retrieve later. |
| job.status() | Check the job status. |
| job = service.job(<job_id>) | Retrieve a job you previously submitted. This call requires the job ID. |
Retrieve job results at a later time
Call service.job(\<job\_id>) to retrieve a job you previously submitted. If you don't have the job ID, or if you want to retrieve multiple jobs at once; including jobs from retired QPUs (quantum processing units), call service.jobs() with optional filters instead. See QiskitRuntimeService.jobs.
service.jobs() also returns jobs run from the deprecated qiskit-ibm-provider package. Jobs submitted by the older (also deprecated) qiskit-ibmq-provider package are no longer available.
Example
This example returns the 10 most recent runtime jobs that were run on my_backend:
result = job.result()
spans = job.result().metadata["execution"]["execution_spans"]
print(spans)Output:
ExecutionSpans([DoubleSliceSpan(<start='2025-09-09 16:31:16', stop='2025-09-09 16:31:16', size=24>)])
params = np.random.uniform(size=(2, 3))
paramsOutput:
array([[0.2260416 , 0.8747859 , 0.44361995],
[0.94700856, 0.96826017, 0.98426562]])
mask = spans[0].mask(0)
maskOutput:
array([[[ True, True, True, True],
[ True, True, True, True]],
[[ True, True, True, True],
[ True, True, True, True]],
[[ True, True, True, True],
[ True, True, True, True]]])
from qiskit_ibm_runtime import QiskitRuntimeService
# Initialize the account first.
service = QiskitRuntimeService()
# Use `limit` to retrieve a specific number of jobs. The default `limit` is 10.
service.jobs(backend_name=my_backend)Cancel a job
You can cancel a job from the IBM Quantum Platform dashboard either on the Workloads page or the details page for a specific workload. On the Workloads page, click the overflow menu at the end of the row for that workload, and select Cancel. If you are on the details page for a specific workload, use the Actions dropdown at the top of the page, and select Cancel.
In Qiskit, use job.cancel() to cancel a job.
Next steps
- Try the Grover's algorithm tutorial.
- Learn more about Sampler execution spans