Skip to main contentIBM Quantum Documentation

RuntimeJob

class RuntimeJob(backend, api_client, client_params, job_id, program_id, service, creation_date=None, user_callback=None, result_decoder=None, image='', session_id=None, tags=None, version=None)

GitHub

Bases: JobV1, BaseRuntimeJob

Representation of a runtime primitive execution.

A new RuntimeJob instance is returned when you call QiskitRuntimeService.run to execute a runtime primitive, or QiskitRuntimeService.job to retrieve a previously executed job.

If the primitive execution is successful, you can inspect the job’s status by calling status(). Job status can be one of the JobStatus members.

Some of the methods in this class are blocking, which means control may not be returned immediately. result() is an example of a blocking method:

job = service.run(...)
 
try:
    job_result = job.result()  # It will block until the job finishes.
    print("The job finished with result {}".format(job_result))
except RuntimeJobFailureError as ex:
    print("Job failed!: {}".format(ex))

If the primitive has any interim results, you can use the callback parameter of the run() method to stream the interim results along with the final result. Alternatively, you can use the stream_results() method to stream the results at a later time, but before the job finishes.

RuntimeJob constructor.

Parameters

  • backend (Backend) – The backend instance used to run this job.
  • api_client (RuntimeClient) – Object for connecting to the server.
  • client_params (ClientParameters) – Parameters used for server connection.
  • job_id (str) – Job ID.
  • program_id (str) – ID of the program this job is for.
  • creation_date (str | None) – Job creation date, in UTC.
  • user_callback (Callable | None) – User callback function.
  • result_decoder (Type[ResultDecoder] | Sequence[Type[ResultDecoder]] | None) – A ResultDecoder subclass used to decode job results.
  • image (str | None) – Runtime image used for this job: image_name:tag.
  • service (qiskit_runtime_service.QiskitRuntimeService) – Runtime service.
  • session_id (str | None) – Job ID of the first job in a runtime session.
  • tags (List | None) – Tags assigned to the job.
  • version (int | None) – Primitive version.

Attributes

ERROR

Type: str | RuntimeJobStatus

Default value: 'job incurred error'

JOB_FINAL_STATES

Type: Tuple[Any, ...]

Default value: (JobStatus.DONE, JobStatus.CANCELLED, JobStatus.ERROR)

creation_date

Job creation date in local time.

Returns

The job creation date as a datetime object, in local time, or None if creation date is not available.

image

Return the runtime image used for the job.

Returns

image_name:tag or “” if the default image is used.

Return type

Runtime image

inputs

Job input parameters.

Returns

Input parameters used in this job.

instance

For ibm_quantum channel jobs, return the instance where the job was run. For ibm_cloud, None is returned.

primitive_id

Primitive name. :returns: Primitive this job is for.

session_id

Session ID.

Returns

Session ID. None if the backend is a simulator.

tags

Job tags.

Returns

Tags assigned to the job that can be used for filtering.

usage_estimation

Return the usage estimation infromation for this job.

Returns

quantum_seconds which is the estimated system execution time of the job in seconds. Quantum time represents the time that the system is dedicated to processing your job.

version

Default value: 1


Methods

backend

backend(timeout=None)

GitHub

Return the backend where this job was executed. Retrieve data again if backend is None.

Raises

IBMRuntimeError – If a network error occurred.

Parameters

timeout (float | None)

Return type

Backend | None

cancel

cancel()

GitHub

Cancel the job.

Raises

  • RuntimeInvalidStateError – If the job is in a state that cannot be cancelled.
  • IBMRuntimeError – If unable to cancel job.

Return type

None

cancel_result_streaming

cancel_result_streaming()

GitHub

Cancel result streaming.

Return type

None

cancelled

cancelled()

Return whether the job has been cancelled.

Return type

bool

done

done()

Return whether the job has successfully run.

Return type

bool

error_message

error_message()

GitHub

Returns the reason if the job failed.

Returns

Error message string or None.

Return type

str | None

errored

errored()

GitHub

Return whether the job has failed.

Return type

bool

in_final_state

in_final_state()

GitHub

Return whether the job is in a final job state such as DONE or ERROR.

Return type

bool

job_id

job_id()

Return a unique id identifying the job.

Return type

str

logs

logs()

GitHub

Return job logs.

Note

Job logs are only available after the job finishes.

Returns

Job logs, including standard output and error.

Raises

IBMRuntimeError – If a network error occurred.

Return type

str

metrics

metrics()

GitHub

Return job metrics.

Returns

  • timestamps: Timestamps of when the job was created, started running, and finished.

  • usage: Details regarding job usage, the measurement of the amount of

    time the QPU is locked for your workload.

Return type

A dictionary with job metrics including but not limited to the following

Raises

IBMRuntimeError – If a network error occurred.

properties

properties(refresh=False)

GitHub

Return the backend properties for this job.

Parameters

refresh (bool) – If True, re-query the server for the backend properties. Otherwise, return a cached version.

Returns

The backend properties used for this job, at the time the job was run, or None if properties are not available.

Return type

BackendProperties | None

queue_info

queue_info()

GitHub

Return queue information for this job.

The queue information may include queue position, estimated start and end time, and dynamic priorities for the hub, group, and project. See QueueInfo for more information.

Note

The queue information is calculated after the job enters the queue. Therefore, some or all of the information may not be immediately available, and this method may return None.

Returns

A QueueInfo instance that contains queue information for this job, or None if queue information is unknown or not applicable.

Return type

QueueInfo | None

queue_position

queue_position(refresh=False)

GitHub

Return the position of the job in the server queue.

Note

The position returned is within the scope of the provider and may differ from the global queue position.

Parameters

refresh (bool) – If True, re-query the server to get the latest value. Otherwise return the cached value.

Returns

Position in the queue or None if position is unknown or not applicable.

Return type

int | None

result

result(timeout=None, decoder=None)

GitHub

Return the results of the job.

Parameters

  • timeout (float | None) – Number of seconds to wait for job.
  • decoder (Type[ResultDecoder] | None) – A ResultDecoder subclass used to decode job results.

Returns

Runtime job result.

Raises

  • RuntimeJobFailureError – If the job failed.
  • RuntimeJobMaxTimeoutError – If the job does not complete within given timeout.
  • RuntimeInvalidStateError – If the job was cancelled, and attempting to retrieve result.

Return type

Any

running

running()

Return whether the job is actively running.

Return type

bool

status

status()

GitHub

Return the status of the job.

Returns

Status of this job.

Return type

JobStatus

submit

submit()

GitHub

Unsupported method. .. note:

This method is not supported, please use
:meth:`~qiskit_ibm_runtime.QiskitRuntimeService.run`
to submit a job.

Raises

NotImplementedError – Upon invocation.

Return type

None

update_tags

update_tags(new_tags)

GitHub

Update the tags associated with this job.

Parameters

new_tags (List[str]) – New tags to assign to the job.

Returns

The new tags associated with this job.

Raises

IBMApiError – If an unexpected error occurred when communicating with the server or updating the job tags.

Return type

List[str]

usage

usage()

GitHub

Return job usage in seconds.

Return type

float

wait_for_final_state

wait_for_final_state(timeout=None)

GitHub

Poll for the job status from the API until the status is in a final state.

Parameters

timeout (float | None) – Seconds to wait for the job. If None, wait indefinitely.

Raises

RuntimeJobTimeoutError – If the job does not complete within given timeout.

Return type

None

Was this page helpful?
Report a bug or request content on GitHub.