BasePrimitiveJob
class qiskit.primitives.BasePrimitiveJob(job_id, **kwargs)
ベース: 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
cancelled
done
in_final_state
job_id
result
running
status
パラメーター
job_id (str)