Skip to main content
IBM Quantum Platform

BasePrimitiveJob

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

GitHub

Bases : ABC, Generic[ResultT, StatusT]

Classe de base abstraite de l'emploi primitif.

Cela définit la fonctionnalité de l'objet « job handle » que vous obtenez en appelant primitive.run(). En général, cet objet représente un descripteur vers une tâche asynchrone, où les méthodes status(), done(), running()in_final_state() , cancelled() et renvoient des informations non bloquantes sur l'état de la tâche.

La méthode result() est généralement implémentée sous la forme d'un appel bloquant qui attend le retour du résultat de l'exécution. L'utilisation de cet objet de travail aboutit presque invariablement à un appel à result().

Remarque

Il s'agit d'une classe de base abstraite, définissant une interface. Chaque fournisseur de primitives (par exemple, qiskit_aer ou qiskit_ibm_runtime) aura sa propre sous-classe de cet objet, qui pourra fournir des fonctionnalités supplémentaires en plus de cette interface.


Sous-classification

Chaque implémenteur des primitives doit fournir une implémentation concrète de cette interface. Il n'y a pas de méthodes fournies dans l'implémentation de base, à l'exception du job_id() getter, car une clé de chaîne identifiant de manière unique les tâches est une exigence de toutes les primitives.

Le type ResultT générique doit être défini comme une sous-classe du résultat primitif versionné approprié. Cela signifie généralement le définir sur PrimitiveResult (pour V2 ), ou une sous-classe spécifique à l'implémentation de celle-ci.

Le type StatusT générique est entièrement libre; votre implémentation peut fournir n'importe quel objet d'état de votre choix et il n'y a pas d'interface définie. Au lieu de cela, done()les méthodes, running(), cancelled()in_final_state() et de cette interface doivent être implémentées afin de fournir à l'utilisateur un accès programmatique simple aux informations d'état à gros grains. Vous pouvez fournir des détails supplémentaires dans le générique StatusT complet.

La création de ce descripteur de « tâche » est généralement censée (mais pas strictement requise ) être rapide et non bloquante, et cet objet doit contenir un descripteur asynchrone interne vers la tâche réelle. La result() méthode doit généralement bloquer jusqu'à ce qu'elle soit prête, si elle est appelée avant que la tâche soit terminée.

Initialise le travail primitif.

param job_id

Identifiant unique dans le contexte de la primitive utilisée pour exécuter la tâche.

param kwargs

Toute métadonnée de valeur clé à associer à cette tâche.


Méthodes

cancel

abstractmethod cancel()

GitHub

Tentative d'annulation du travail.

cancelled

abstractmethod cancelled()

GitHub

Indique si le travail a été annulé.

Type de retour

booléen

done

abstractmethod done()

GitHub

Indique si le travail a été exécuté avec succès.

Type de retour

booléen

in_final_state

abstractmethod in_final_state()

GitHub

Indique si le travail est dans un état final tel que DONE ou ERROR.

Type de retour

booléen

job_id

job_id()

GitHub

Renvoi d'un identifiant unique permettant d'identifier le travail.

Type de retour

str

result

abstractmethod result()

GitHub

Renvoyer les résultats du travail.

Type de retour

ResultT

running

abstractmethod running()

GitHub

Indique si le travail est en cours d'exécution.

Type de retour

booléen

status

abstractmethod status()

GitHub

Renvoie le statut du travail.

Type de retour

StatusT

Paramètres

job_id (str)

Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.