IBMQJob.result¶
- IBMQJob.result(timeout=None, wait=5, partial=False, refresh=False)[source]¶
Return the result of the job.
Note
Some IBM Quantum Experience job results can only be read once. A second attempt to query the server for the same job will fail, since the job has already been “consumed”.
The first call to this method in an
IBMQJob
instance will query the server and consume any available job results. Subsequent calls to that instance’sresult()
will also return the results, since they are cached. However, attempting to retrieve the results again in another instance or session might fail due to the job results having been consumed.Note
When partial=True, this method will attempt to retrieve partial results of failed jobs. In this case, precaution should be taken when accessing individual experiments, as doing so might cause an exception. The
success
attribute of the returnedResult
instance can be used to verify whether it contains partial results.For example, if one of the experiments in the job failed, trying to get the counts of the unsuccessful experiment would raise an exception since there are no counts to return:
try: counts = result.get_counts("failed_experiment") except QiskitError: print("Experiment failed!")
If the job failed, you can use
error_message()
to get more information.- Parameters
timeout (
Optional
[float
]) – Number of seconds to wait for job.wait (
float
) – Time in seconds between queries.partial (
bool
) – IfTrue
, return partial results if possible.refresh (
bool
) – IfTrue
, re-query the server for the result. Otherwise return the cached value.
- Return type
- Returns
Job result.
- Raises
IBMQJobInvalidStateError – If the job was cancelled.
IBMQJobFailureError – If the job failed.
IBMQJobApiError – If an unexpected error occurred when communicating with the server.