BasePrimitiveJob
class qiskit.primitives.BasePrimitiveJob(job_id, **kwargs)
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().
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
cancelled
done
abstractmethod done()
Restituisce se il lavoro è stato eseguito con successo.
Tipo di restituzione
in_final_state
abstractmethod in_final_state()
Restituisce se il lavoro è in uno stato finale, come DONE o ERROR.
Tipo di restituzione
job_id
result
running
abstractmethod running()
Restituisce se il lavoro è attivamente in esecuzione.
Tipo di restituzione
status
Parametri
job_id (str)