QCloudJob
QCloudJob 表示提交到云平台的量子任务。它提供了查询任务状态和检索执行结果的方法。
签名
python
QCloudJob(job_id: str)参数
| 参数 | 类型 | 描述 |
|---|---|---|
| job_id | str | 量子任务的唯一标识符 |
注意: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}")另见
- QCloudResult -- 任务查询返回的结果对象
- QCloudService -- 获取后端的云服务
- JobStatus -- 任务状态枚举