Skip to main content
IBM Quantum Platform

ジョブの監視またはキャンセル

ワークロードページでワークロードのリストを表示します。


ジョブの状況を表示する

Workloads テーブルに移動し、Status 列でジョブが完了したか失敗したかを確認します。

なぜ仕事のステータスが「進行中」のままになるのか

通常なら数秒で完了するはずのジョブが、 「処理中」 ステータス(Qiskit RUNNING では「」と呼ばれます)のまま、かなり長い間留まっていることに気づくかもしれません。 これは正常な現象であり、その時間すべてがジョブによる使用時間であることを意味するわけではありません。 これは、QPUへのジョブのスケジューリング方法に起因しています:

  • どのジョブも、QPU上で実行するには、まず標準的な前処理を行う必要があります。 この通常の処理が開始されるとすぐに、ジョブは 「処理中 (RUNNING)」の状態に移行します。QPU上での実行が開始された時点ではありません。
  • この従来の処理のほとんどは並列で実行されるため、複数のジョブを同時に進行させることができます。
  • ただし、QPUでは一度に1つのジョブしか実行できません。 複数のジョブが通常の処理を完了し、実行可能な状態になった場合、それらのジョブはQPUの使用順番を待たなければなりません。 これは「 QPU競合」 として知られています。 競合が激しい場合、ジョブは、実際に必要なQPU時間である数秒よりも、著しく長い時間 「処理中」の状態が続くことがあります。
  • また、QPU上でキャリブレーションなどのシステムメンテナンスタスクが実行されている場合にも、競合が発生する可能性があります。 メンテナンスタスクが完了し、QPUが利用可能になるまで、ジョブは 「処理中」の状態のままとなります。

このため、ジョブが 「進行中」の状態にある間に経過した実時間は、そのジョブの使用時間とは一致しません。 推定使用時間と最大実行時間の両方は、ジョブの実行のためにQPUがロックされる時間のみに基づいており、したがって、前述のマルチスレッドによる従来の処理は含まれていません。 「進行中」 の状態が長く続いても、報告される使用量や費用は増加しません。

セッションモードが異なります

上記の動作は、 ジョブモードおよびバッチモードに適用されます。 セッションモードでは、セッションのアクティブウィンドウが開いている間、ユーザーはシステムへの排他的なアクセス権を持ち、他のジョブ(キャリブレーションジョブを含む)は実行できません。 したがって、QPUの競合が発生するのは、自身のセッション内のジョブ間でのみです。 また、セッションの使用時間は、セッションがアクティブな状態にある間の経過時間として測定されます。これは、ジョブが実際に実行されているかどうかに関わらず、セッションの期間中はQPUの容量が確保されるためです。 詳細については、「 ワークロードの使用状況」 を参照してください。


残りの使用量を確認する

[インスタンス]テーブルに](https://quantum.cloud.ibm.com/instances) 移動し、残りの使用量を表示したいプランに関連付けられているタブを選択します。 使用時間の合計とプランの残り時間の合計が表示されます。


提出されたジョブとワークロードの数に関するメトリクスを表示する

アナリティクスページに移動して、投入されたジョブの総数、バッチワークロードとセッションワークロードのカウントを確認します。 アナリティクスページを見ることができるのは、あなたが所有または管理しているアカウントのみです。


ジョブを監視する

ジョブ・インスタンスを使用してジョブ・ステータスを確認するか、適切なコマンドを呼び出して結果を取得する:

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件を返します:

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))
params

Output:

array([[0.2260416 , 0.8747859 , 0.44361995],
       [0.94700856, 0.96826017, 0.98426562]])
mask = spans[0].mask(0)
mask

Output:

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 ダッシュボードから、ワークロード ページまたは特定のワークロードの詳細ページでジョブをキャンセルできます。 ワークロード」ページで、ワークロードの行の最後にあるオーバーフローメニューをクリックし、「キャンセル」を選択します。 特定のワークロードの詳細ページにいる場合は、ページ上部の「Actions(アクション)」ドロップダウンを使用し、「Cancel(キャンセル)」を選択します。

Qiskitでは、 job.cancel() 、ジョブをキャンセルする。


次のステップ

推奨事項
このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。