ジョブの監視またはキャンセル
ワークロードの一覧は、ワークロードページで確認できます。
ジョブのステータスを確認する
ワークロードテーブルを開き、「Status」列でジョブが完了したか失敗したかを確認してください。
残り使用量を確認する
インスタンステーブルを開き、残り使用量を確認したいプランに対応するタブを選択してください。プランの合計使用時間と残り時間が表示されます。
送信されたジョブおよびワークロード数のメトリクスを確認する
アナリティクスページにアクセスすると、送信されたジョブの総数、バッチワークロードとセッションワークロードの件数を確認できます。アナリティクスページは、ご自身が所有または管理しているアカウントのみ表示可能です。
ジョブを監視する
ジョブインスタンスを使用して、適切なコマンドを呼び出すことでジョブのステータスを確認したり、結果を取得したりできます。
| job.result() | ジョブ完了直後に結果を確認します。ジョブの結果はジョブ完了後に利用可能になります。そのため、job.result() はジョブが完了するまでブロッキング呼び出しとなります。 |
| job.job_id() | そのジョブを一意に識別するIDを返します。後でジョブの結果を取得するにはジョブIDが必要です。そのため、後で取得する可能性のあるジョブのIDは保存しておくことをお勧めします。 |
| job.status() | ジョブのステータスを確認します。 |
| job = service.job(<job_id>) | 以前に送信したジョブを取得します。この呼び出しにはジョブIDが必要です。 |
後でジョブ結果を取得する
service.job(\<job\_id>) を呼び出すことで、以前に送信したジョブを取得できます。ジョブIDが手元にない場合、または複数のジョブを一度に取得したい場合(廃止されたQPU(量子処理ユニット)のジョブを含む)は、代わりにオプションフィルターを指定して service.jobs() を呼び出してください。詳細は QiskitRuntimeService.jobs を参照してください。
service.jobs() は、非推奨の qiskit-ibm-provider パッケージで実行されたジョブも返します。旧来の(同様に非推奨の)qiskit-ibmq-provider パッケージで送信されたジョブは、もはや利用できません。
例
この例では、my_backend で実行された最新の10件のランタイムジョブを返します。
# Added by doQumentation — required packages for this notebook
!pip install -q numpy qiskit qiskit-ibm-runtime
# This cell is hidden from users
from qiskit import QuantumCircuit
from qiskit.circuit import Parameter
from qiskit.transpiler import generate_preset_pass_manager
from qiskit_ibm_runtime import QiskitRuntimeService, SamplerV2
import numpy as np
my_backend = "ibm_torino"
service = QiskitRuntimeService()
# backend = service.backend(my_backend)
backend = service.least_busy()
# Define two circuits, each with one parameter with two parameters.
circuit = QuantumCircuit(2)
circuit.h(0)
circuit.cx(0, 1)
circuit.ry(Parameter("a"), 0)
circuit.cx(0, 1)
circuit.h(0)
circuit.measure_all()
pm = generate_preset_pass_manager(optimization_level=1, backend=backend)
transpiled_circuit = pm.run(circuit)
params = np.random.uniform(size=(2, 3)).T
sampler_pub = (transpiled_circuit, params)
# Instantiate the new Estimator object, then run the transpiled circuit
# using the set of parameters and observables.
sampler = SamplerV2(mode=backend)
job = sampler.run([sampler_pub], shots=4)
print(job.job_id())
d305ck0ocacs73ajagvg
result = job.result()
spans = job.result().metadata["execution"]["execution_spans"]
print(spans)
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))
params
array([[0.2260416 , 0.8747859 , 0.44361995],
[0.94700856, 0.96826017, 0.98426562]])
mask = spans[0].mask(0)
mask
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)
ジョブをキャンセルする
IBM Quantum Platformダッシュボードのワークロードページまたは特定のワークロードの詳細ページからジョブをキャンセルできます。ワークロードページでは、該当ワークロードの行末にあるオーバーフローメニューをクリックし、「Cancel」を選択してください。特定のワークロードの詳細ページにいる場合は、ページ上部の「Actions」ドロップダウンを使用して「Cancel」を選択してください。
Qiskitでは、job.cancel() を使用してジョブをキャンセルできます。
次のステップ
- グローバーのアルゴリズムチュートリアルをお試しください。
- Samplerの実行スパンについて詳しく学びましょう。