Skip to main content
IBM Quantum Platform

BasePrimitiveJob

class qiskit.primitives.BasePrimitiveJob(job_id, **kwargs)

GitHub

ベース: ABC, Generic[ResultT, StatusT]

プリミティブジョブの抽象ベースクラス。

これは、primitive.run() の呼び出しによって取得される「ジョブ ハンドル」オブジェクトの機能を定義します。通常、このオブジェクトは非同期タスクへのハンドルを表します。status()done()running()cancelled()、およびin_final_state()メソッドは、タスクの状態に関する非ブロッキング情報。

このメソッド result() は通常、実行結果が返されるまで待機するブロッキング呼び出しとして実装される。 このジョブオブジェクトの使用は、ほぼ例外なく. result()への呼び出しで終わる。

これは抽象基底クラスであり、インターフェースを定義する。 各プリミティブプロバイダ(例: qiskit_aer または qiskit_ibm_runtime)は、このオブジェクトの独自のサブクラスを持ち、このインターフェースの上に追加機能を提供する可能性があります。


サブクラス化

各プリミティブの実装者は、このインターフェースの具体的な実装を提供すべきである。 基本実装では、ジョブを一意に識別する文字列キーがすべてのプリミティブの要件であるため、ゲッター job_id() 以外のメソッドは提供されていません。

ジェネリック ResultT 型は、適切なバージョン付きプリミティブ結果のサブクラスに設定されるべきである。 これは通常、これを ( PrimitiveResultV2 の場合) に設定するか、実装固有のこのサブクラスを設定することを意味します。

StatusT ジェネリック型は完全に自由形式です。実装では任意のステータスオブジェクトを提供でき、定義済みのインターフェースはありません。代わりに、このインターフェースの done()running()cancelled()、および in_final_state() メソッドを実装して、ユーザーがプログラムから簡単に大まかなステータス情報にアクセスできるようにする必要があります。完全な StatusT ジェネリックで追加の詳細を提供できます。

この「ジョブ」ハンドルを作成することは、慣例的に高速かつノンブロッキングであることが期待される(ただし厳密には必須ではない)。また、このオブジェクトは実際のジョブへの内部的な非同期ハンドルを保持するものである。 この result() メソッドは、通常、ジョブが完了する前に呼び出された場合、準備が整うまでブロックする必要があります。

プリミティブ・ジョブを初期化する。

パラメータ job_id

ジョブを実行するために使用されるプリミティブのコンテキストにおける一意のID。

パラメータとキーワード引数

このジョブに関連付ける任意のキー値メタデータ。


方法

cancel

abstractmethod cancel()

GitHub

ジョブのキャンセルを試みる。

cancelled

abstractmethod cancelled()

GitHub

ジョブがキャンセルされたかどうかを返す。

戻りの型

bool

done

abstractmethod done()

GitHub

ジョブが正常に実行されたかどうかを返す。

戻りの型

bool

in_final_state

abstractmethod in_final_state()

GitHub

ジョブが DONEERROR のような最終ジョブ状態にあるかどうかを返す。

戻りの型

bool

job_id

job_id()

GitHub

ジョブを識別する一意の ID を返します。

戻りの型

str

result

abstractmethod result()

GitHub

ジョブの結果を返す。

戻りの型

ResultT

running

abstractmethod running()

GitHub

ジョブがアクティブに実行されているかどうかを返す。

戻りの型

bool

status

abstractmethod status()

GitHub

ジョブのステータスを返す。

戻りの型

StatusT

パラメーター

job_id (str)

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