

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 我的量子任务什么时候能运行？
<a name="braket-task-when"></a>

当您提交电路时，Amazon Braket 会将其发送到您指定的设备。量子处理单元（QPU）和按需模拟器量子任务按接收顺序排队处理。提交量子任务后处理该任务所需的时间会有所不同，具体取决于其他 Amazon Braket 客户提交任务的数量和复杂程度以及所选 QPU 的可用性。

**Topics**
+ [QPU 可用性窗口和状态](#braket-qpu-availability)
+ [队列可见性](#braket-queue-visibility)
+ [设置电子邮件或 SMS 通知](status-change-notifications-in-email-or-sms.md)

## QPU 可用性窗口和状态
<a name="braket-qpu-availability"></a>

QPU 可用性因设备而异。

在 Amazon Braket 控制台的“**设备**”页面中，您可以看到当前和即将推出的可用性窗口以及设备状态。此外，每个设备页面都显示量子任务和混合作业的单独队列深度。

无论可用性窗口如何，如果客户无法使用设备，则该设备将被视为*离线*。例如，它可能由于定期维护、升级或操作问题而处于离线状态。

## 队列可见性
<a name="braket-queue-visibility"></a>

在提交量子任务或混合作业之前，您可以通过检查设备队列深度来查看摆在您面前的量子任务或混合作业的数量。

**队列深度**

Queue depth 指排队等候特定设备的量子任务和混合作业的数量。可通过 Braket Software Development Kit (SDK) 或 Amazon Braket Management Console 访问设备的量子任务和混合作业队列数。

1. *任务队列深度*是指当前等待以正常优先级运行的量子任务总数。

1. *优先任务队列深度*是指等待通过 Amazon Braket Hybrid Jobs 运行的已提交量子任务的总数。这些任务在独立任务之前运行。

1. *混合作业队列深度*是指当前在设备上排队的混合作业总数。Quantum tasks 作为混合作业的一部分提交，具有优先级，汇总在 Priority Task Queue 中。

希望通过 Braket SDK 查看队列深度的客户可以修改以下代码片段以获取其量子任务或混合作业的队列位置：

```
device = AwsDevice("arn:aws:braket:us-east-1::device/qpu/ionq/Forte-Enterprise-1")

# returns the number of quantum tasks queued on the device 
print(device.queue_depth().quantum_tasks)
{<QueueType.NORMAL: 'Normal'>: '0', <QueueType.PRIORITY: 'Priority'>: '0'}


# returns the number of hybrid jobs queued on the device
print(device.queue_depth().jobs)
'3'
```

向 QPU 提交量子任务或混合作业可能会导致您的工作负载处于 `QUEUED` 状态。Amazon Braket 可使客户看到他们的量子任务和混合任务队列的位置。

**队列位置**

Queue position 指您的量子任务或混合作业在相应设备队列中的当前位置。它可以通过 Braket Software Development Kit (SDK) 或 Amazon Braket Management Console 获得，用于量子任务或混合作业。

希望通过 Braket SDK 查看队列位置的客户可以通过修改以下代码片段来获取其量子任务或混合作业的队列位置：

```
# choose the device to run your circuit 
device = AwsDevice("arn:aws:braket:eu-north-1::device/qpu/iqm/Garnet")
 
#execute the circuit 
task = device.run(bell, s3_folder, shots=100)

# retrieve the queue position information
print(task.queue_position().queue_position)
    
# Returns the number of Quantum Tasks queued ahead of you
'2'
        

from braket.aws import AwsQuantumJob

job = AwsQuantumJob.create(
    "arn:aws:braket:eu-north-1::device/qpu/iqm/Garnet",
    source_module="algorithm_script.py",
    entry_point="algorithm_script:start_here",
    wait_until_complete=False
)

# retrieve the queue position information
print(job.queue_position().queue_position)
'3' # returns the number of hybrid jobs queued ahead of you
```