Skip to content

QCloudJob

QCloudJob 表示提交到云平台的量子任务。它提供了查询任务状态和检索执行结果的方法。

签名

python
QCloudJob(job_id: str)

参数

参数类型描述
job_idstr量子任务的唯一标识符

注意:QCloudJob 对象通常由 QCloudBackend.run() 返回,而非直接构造。

方法

job_id

python
job_id() -> str

检索唯一的任务标识符。如果任务 ID 为空,则抛出 RuntimeError

返回值: 任务 ID 字符串。

status

python
status() -> JobStatus

检索量子任务的当前状态。

返回值: 表示任务当前状态的 JobStatus 枚举值。可能的取值为:

取值描述
WAITING任务正在等待处理
COMPUTING任务正在执行中
FINISHED任务已成功完成
FAILED任务执行失败
QUEUING任务在执行队列中等待

query

python
query() -> QCloudResult

向云服务查询此任务的最新信息,包括当前状态和可用结果。

返回值: 包含查询响应的 QCloudResult 对象。

result

python
result() -> QCloudResult

检索量子任务的执行结果。此方法会阻塞直到任务完成,并返回最终的执行结果。

返回值: 包含任务执行结果的 QCloudResult 对象。

示例

python
from pyqpanda3.qcloud import QCloudService
from pyqpanda3.core import QCircuit, H, measure

service = QCloudService(api_key="your_api_key")
backend = service.backend("origin_simulation")

circuit = QCircuit(2)
circuit << H(0)
prog = QProg()
prog << circuit << measure([0], [0])

# Submit the job
job = backend.run(prog, shots=1000)

# Check the job ID
print(f"Job ID: {job.job_id()}")

# Poll for status
from pyqpanda3.qcloud import JobStatus
status = job.status()
print(f"Status: {status}")

# Retrieve the result (blocks until complete)
result = job.result()
probs = result.get_probs()
print(f"Probabilities: {probs}")

另见

Released under the MIT License.