Skip to main content
IBM Quantum Platform

BasePrimitiveJob

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

GitHub

Basen: ABC, Generic[ResultT, StatusT]

Primitive abstrakte Basisklasse für Jobs.

Dies definiert die Funktionalität des Objekts „Job-Handle“, das Sie durch einen Aufruf von erhalten primitive.run(). In der Regel stellt dieses Objekt einen Handle für eine asynchrone Aufgabe dar, wobei die Methoden status(), done() running(), cancelled()in_final_state() und nicht blockierende Informationen zum Status der Aufgabe zurückgeben.

Die Methode result() wird in der Regel als blockierender Aufruf implementiert, der auf die Rückgabe des Ausführungsergebnisses wartet. Die Verwendung dieses Jobobjekts endet fast immer mit einem Aufruf von result().

Anmerkung

Dies ist eine abstrakte Basisklasse, die eine Schnittstelle definiert. Jeder Primitive-Anbieter (z. B. qiskit_aer oder qiskit_ibm_runtime) verfügt über eine eigene Unterklasse dieses Objekts, die zusätzlich zu dieser Schnittstelle weitere Funktionen bereitstellen kann.


Unterklassen

Jeder Implementierer der Primitive sollte eine konkrete Implementierung dieser Schnittstelle bereitstellen. In der Basisimplementierung sind außer dem job_id() Getter keine Methoden vorgesehen, da ein String-Schlüssel zur eindeutigen Identifizierung von Jobs eine Anforderung aller Primitive ist.

Der ResultT generische Typ sollte auf eine Unterklasse des entsprechenden versionierten primitiven Ergebnisses festgelegt werden. Dies bedeutet in der Regel, dass es auf PrimitiveResult (für V2 ) oder eine implementierungsspezifische Unterklasse davon gesetzt wird.

Der StatusT generische Typ ist völlig frei gestaltbar; Ihre Implementierung kann jedes beliebige Statusobjekt bereitstellen, und es gibt keine definierte Schnittstelle. Stattdessen sollten die done()Methoden, running(), cancelled()in_final_state() und dieser Schnittstelle implementiert werden, um dem Benutzer einen einfachen programmatischen Zugriff auf grobkörnige Statusinformationen zu ermöglichen. Sie können zusätzliche Details in der vollständigen StatusT Generik angeben.

Es wird üblicherweise erwartet ( ist jedoch nicht zwingend erforderlich), dass die Erstellung dieses „Job“-Handles schnell und nicht blockierend erfolgt und dass dieses Objekt ein internes asynchrones Handle für den eigentlichen Job enthält. Die result() Methode sollte in der Regel blockieren, bis sie bereit ist, wenn sie aufgerufen wird, bevor der Job abgeschlossen ist.

Initialisiert den primitiven Auftrag.

param job_id

Eine eindeutige ID im Kontext der Primitive, die zum Ausführen des Jobs verwendet wird.

param kwargs

Alle Schlüsselwert-Metadaten, die mit diesem Auftrag verknüpft werden sollen.


Methoden

cancel

abstractmethod cancel()

GitHub

Versuchen Sie, den Auftrag abzubrechen.

cancelled

abstractmethod cancelled()

GitHub

Gibt zurück, ob der Auftrag abgebrochen wurde.

Rückgabetyp

bool

done

abstractmethod done()

GitHub

Gibt zurück, ob der Auftrag erfolgreich ausgeführt wurde.

Rückgabetyp

bool

in_final_state

abstractmethod in_final_state()

GitHub

Gibt zurück, ob sich der Auftrag in einem endgültigen Auftragsstatus wie DONE oder ERROR befindet.

Rückgabetyp

bool

job_id

job_id()

GitHub

Gibt eine eindeutige ID zurück, die den Auftrag identifiziert.

Rückgabetyp

str

result

abstractmethod result()

GitHub

Geben Sie die Ergebnisse des Auftrags zurück.

Rückgabetyp

ResultT

running

abstractmethod running()

GitHub

Gibt zurück, ob der Auftrag aktiv ausgeführt wird.

Rückgabetyp

bool

status

abstractmethod status()

GitHub

Gibt den Status des Auftrags zurück.

Rückgabetyp

StatusT

Parameter

job_id (str)

War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.