

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 我的量子任務何時執行？
<a name="braket-task-when"></a>

當您提交電路時，Amazon Braket 會將其傳送至您指定的裝置。Quantum Processing Unit (QPU) 和隨需模擬器量子任務會依收到順序排入佇列並進行處理。提交後處理規定人數任務所需的時間，取決於其他 Amazon Braket 客戶提交的任務數量和複雜性，以及所選 QPU 的可用性。

**Topics**
+ [QPU 可用性時段和狀態](#braket-qpu-availability)
+ [佇列可見性](#braket-queue-visibility)
+ [設定電子郵件或簡訊通知](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
```