BasePrimitiveJob
class qiskit.primitives.BasePrimitiveJob(job_id, **kwargs)
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().
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
cancelled
done
in_final_state
abstractmethod in_final_state()
Gibt zurück, ob sich der Auftrag in einem endgültigen Auftragsstatus wie DONE oder ERROR befindet.
Rückgabetyp
job_id
result
running
status
Parameter
job_id (str)