BasePrimitiveJob
class qiskit.primitives.BasePrimitiveJob(job_id, **kwargs)
Bases: ABC, Generic[ResultT, StatusT]
Classe base abstrata de trabalho primitivo.
Isso define a funcionalidade do objeto “job handle” obtido por meio de uma chamada para primitive.run(). Normalmente, esse objeto representa um identificador para uma tarefa assíncrona, em que os métodos status(), done(), running()in_final_state() , cancelled() e retornam informações não bloqueantes sobre o estado da tarefa.
O método result() é normalmente implementado como uma chamada de bloqueio que aguarda o retorno do resultado da execução. O uso desse objeto de trabalho quase invariavelmente termina em uma chamada para result().
Esta é uma classe base abstrata, que define uma interface. Cada provedor de primitivas (por exemplo, qiskit_aer ou qiskit_ibm_runtime) terá sua própria subclasse desse objeto, que pode fornecer funcionalidades adicionais além dessa interface.
Subclassificação
Cada implementador das primitivas deve fornecer uma implementação concreta dessa interface. Não há métodos fornecidos na implementação base, além do job_id() getter, uma vez que uma chave de string que identifica exclusivamente os trabalhos é um requisito de todas as primitivas.
O tipo ResultT genérico deve ser definido como uma subclasse do resultado primitivo versionado apropriado. Isso normalmente significa defini-lo como PrimitiveResult (para V2 ) ou uma subclasse específica da implementação.
O tipo StatusT genérico é totalmente livre; sua implementação pode fornecer qualquer objeto de status que desejar e não há interface definida. Em vez disso, os métodos done(), running(), cancelled()in_final_state() e desta interface devem ser implementados para fornecer ao usuário acesso programático simples a informações de status de alto nível. Você pode fornecer detalhes adicionais no genérico StatusT completo.
Espera-se convencionalmente (mas não é estritamente necessário) que a criação desse identificador de “tarefa” seja rápida e sem bloqueio, e que esse objeto mantenha um identificador interno assíncrono para a tarefa real. O result() método normalmente deve bloquear até estar pronto, se chamado antes da conclusão da tarefa.
Inicializa o trabalho primitivo.
param job_id
Um identificador único no contexto do primitivo usado para executar o trabalho.
parâmetros kwargs
Qualquer metadado de valor-chave a ser associado a este trabalho.
Métodos
cancel
cancelled
done
in_final_state
abstractmethod in_final_state()
Retorna se o trabalho está em um estado de trabalho final, como DONE ou ERROR.
Tipo de retorno
job_id
result
running
status
Parâmetros
job_id (str)