BasePrimitiveJob
class qiskit.primitives.BasePrimitiveJob(job_id, **kwargs)
Bases: ABC, Generic[ResultT, StatusT]
프리미티브 잡 추상 베이스 클래스.
이것은 호출을 통해 얻는 "작업 핸들" primitive.run()객체의 기능을 정의합니다. 일반적으로 이 객체는 비동기 작업에 대한 핸들을 나타내며,, status() done(), running(), cancelled() 및 in_final_state() 메서드는 작업 상태에 대한 비차단 정보를 반환합니다.
해당 메서드는 일반적으로 실행 결과가 반환될 result() 때까지 대기하는 차단 호출로 구현됩니다. 이 작업 객체의 사용은 거의 예외 없이 호출로 이어집니다 result().
이것은 추상 기본 클래스로서 인터페이스를 정의합니다. 각 기본형 제공자(예: qiskit_aer 또는 qiskit_ibm_runtime)는 이 객체의 자체 하위 클래스를 가지며, 이는 이 인터페이스 위에 추가 기능을 제공할 수 있습니다.
서브클래스로 분류
각 기본 기능 구현자는 이 인터페이스의 구체적인 구현을 제공해야 합니다. 기본 구현체에는 모든 기본 데이터 유형에서 작업(job)을 고유하게 식별하는 문자열 키가 필수 요건이므로, 게터 job_id() 메서드 외에는 제공된 메서드가 없습니다.
일반 ResultT 타입은 적절한 버전이 지정된 기본 결과의 하위 클래스로 설정되어야 합니다. 이는 일반적으로 ( PrimitiveResultV2 의 경우) 또는 구현체별 하위 클래스로 설정하는 것을 의미합니다.
일반 StatusT 타입은 완전히 자유 형식입니다. 구현에서는 원하는 상태 객체를 제공할 수 있으며 정의된 인터페이스가 없습니다. 대신, 이 인터페이스의 done(), running(), cancelled() 및 in_final_state() 메서드를 구현하여 사용자가 거친 수준의 상태 정보에 대한 간단한 프로그래밍 방식 접근을 제공해야 합니다. 추가 세부 사항은 완전한 StatusT 일반 항목에서 제공할 수 있습니다.
이 "작업" 핸들을 생성하는 것은 관례적으로(그러나 엄격히 요구되지는 않음) 빠르고 비차단 방식으로 수행되어야 하며, 이 객체는 실제 작업에 대한 내부 비동기 핸들을 보유해야 한다. 해당 result() 메서드는 일반적으로 작업이 완료되기 전에 호출된 경우 준비될 때까지 차단해야 합니다.
프리미티브 작업을 초기화합니다.
param job_id
작업 실행에 사용된 기본 유형의 컨텍스트 내에서 고유한 식별자.
param kwargs
이 작업과 연관시킬 수 있는 모든 키-값 메타데이터.
메소드
cancel
cancelled
done
in_final_state
job_id
result
running
status
매개변수
job_id (str)