BasePrimitiveJob
class qiskit.primitives.BasePrimitiveJob(job_id, **kwargs)
Bases: ABC, Generic[ResultT, StatusT]
Clase base abstracta de trabajo primitivo.
Esto define la funcionalidad del objeto «job handle» que se obtiene mediante una llamada a primitive.run(). Normalmente, este objeto representa un identificador de una tarea asíncrona, donde los métodos status(), done(), running()in_final_state() , cancelled() y devuelven información no bloqueante sobre el estado de la tarea.
El método result() se implementa normalmente como una llamada de bloqueo que espera a que se devuelva el resultado de la ejecución. El uso de este objeto de trabajo casi siempre termina en una llamada a result().
Esta es una clase base abstracta que define una interfaz. Cada proveedor de primitivas (por ejemplo, qiskit_aer o qiskit_ibm_runtime) tendrá su propia subclase de este objeto, que puede proporcionar funcionalidad adicional además de esta interfaz.
Subclasificación
Cada implementador de las primitivas debe proporcionar una implementación concreta de esta interfaz. No hay métodos proporcionados en la implementación base, aparte del job_id() getter, ya que una clave de cadena que identifique de forma única los trabajos es un requisito de todos los primitivos.
El tipo ResultT genérico debe establecerse en una subclase del resultado primitivo versionado adecuado. Esto normalmente significará establecerlo en PrimitiveResult (par V2 ), o una subclase específica de la implementación de esto.
El tipo StatusT genérico es completamente libre; su implementación puede proporcionar cualquier objeto de estado que desee y no hay una interfaz definida. En su lugar, deben implementarse los métodos done(), running(), cancelled()in_final_state() y de esta interfaz para proporcionar al usuario un acceso programático sencillo a información de estado de grano grueso. Puede proporcionar detalles adicionales en el genérico StatusT completo.
Se espera convencionalmente (aunque no es estrictamente necesario) que la creación de este identificador de «trabajo» sea rápida y sin bloqueos, y que este objeto contenga un identificador interno asíncrono del trabajo real. El result() método normalmente debería bloquearse hasta que esté listo, si se llama antes de que el trabajo haya finalizado.
Inicializa el trabajo primitivo.
param job_id
Un identificador único en el contexto de la primitiva utilizada para ejecutar el trabajo.
parámetros kwargs
Cualquier metadato de valor clave que se desee asociar a este trabajo.
Métodos
cancel
cancelled
done
in_final_state
abstractmethod in_final_state()
Devuelve si el trabajo está en un estado de trabajo final como DONE o ERROR.
Tipo de retorno
job_id
result
running
status
Parámetros
job_id (str)