Skip to main content
IBM Quantum Platform

BasePrimitiveJob

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

GitHub

Basi: ABC, Generic[ResultT, StatusT]

Classe base astratta del lavoro primitivo.

Questo definisce la funzionalità dell'oggetto "job handle" ottenuto tramite una chiamata a primitive.run(). In genere questo oggetto rappresenta un handle per un'attività asincrona, in cui i metodi status(), done(), running()in_final_state() , cancelled() e restituiscono informazioni non bloccanti sullo stato dell'attività.

Il metodo result() è tipicamente implementato come una chiamata bloccante che attende il ritorno del risultato dell'esecuzione. L'uso di questo oggetto di lavoro termina quasi invariabilmente con una chiamata a result().

Nota

Si tratta di una classe base astratta che definisce un'interfaccia. Ogni fornitore di primitive (ad esempio, qiskit_aer o qiskit_ibm_runtime) avrà una propria sottoclasse di questo oggetto, che potrà fornire funzionalità aggiuntive oltre a quelle di questa interfaccia.


Sottoclassi

Ogni implementatore delle primitive dovrebbe fornire un'implementazione concreta di questa interfaccia. Non sono previsti metodi nell'implementazione di base, ad eccezione del job_id() getter, poiché una chiave stringa che identifichi in modo univoco i lavori è un requisito di tutte le primitive.

Il tipo ResultT generico deve essere impostato su una sottoclasse del risultato primitivo con versione appropriata. Questo in genere significa impostarlo su PrimitiveResult (per V2 ) o su una sottoclasse specifica dell'implementazione.

Il tipo StatusT generico è completamente libero; la tua implementazione può fornire qualsiasi oggetto di stato desideri e non esiste un'interfaccia definita. Invece, i metodi done(), running(), cancelled()in_final_state() e di questa interfaccia dovrebbero essere implementati per fornire all'utente un accesso programmatico semplice alle informazioni di stato a livello generale. È possibile fornire ulteriori dettagli nel generico StatusT completo.

La creazione di questo handle "job" è convenzionalmente prevista (ma non strettamente richiesta ) per essere veloce e non bloccante, e affinché questo oggetto mantenga un handle asincrono interno al job effettivo. Il result() metodo dovrebbe in genere bloccarsi fino a quando non è pronto, se chiamato prima che il lavoro sia stato completato.

Inizializza il lavoro primitivo.

param job_id

Un ID univoco nel contesto del primitivo utilizzato per eseguire il processo.

param kwargs

Qualsiasi metadato chiave da associare a questo lavoro.


Metodi

cancel

abstractmethod cancel()

GitHub

Tentare di annullare il lavoro.

cancelled

abstractmethod cancelled()

GitHub

Restituisce se il lavoro è stato annullato.

Tipo di restituzione

bool

done

abstractmethod done()

GitHub

Restituisce se il lavoro è stato eseguito con successo.

Tipo di restituzione

bool

in_final_state

abstractmethod in_final_state()

GitHub

Restituisce se il lavoro è in uno stato finale, come DONE o ERROR.

Tipo di restituzione

bool

job_id

job_id()

GitHub

Restituisce un id univoco che identifica il lavoro.

Tipo di restituzione

STR

result

abstractmethod result()

GitHub

Restituisce i risultati del lavoro.

Tipo di restituzione

ResultT

running

abstractmethod running()

GitHub

Restituisce se il lavoro è attivamente in esecuzione.

Tipo di restituzione

bool

status

abstractmethod status()

GitHub

Restituisce lo stato del lavoro.

Tipo di restituzione

StatusT

Parametri

job_id (str)

Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.