建立 Cloud Tasks 佇列

本頁說明如何建立 Cloud Tasks 佇列。工作加入佇列後,佇列會指派工作,並確保服務 (也稱為「工作站」) 能可靠地處理工作。

注意事項:

  • 佇列名稱由三部分組成:專案 ID、位置和佇列 ID。 您必須擁有提供專案 ID 的Google Cloud 專案

  • 如果您使用 App Engine 目標工作,也必須有位於特定地區App Engine 應用程式,且佇列和處理常式會在該應用程式中執行。新增應用程式時,請注意區域。

  • 使用 HTTP 目標工作時,不需要 App Engine 應用程式。建立佇列時,請選取 Google Cloud 位置。

建立佇列

你可以透過下列方式建立佇列:

  • 在 Google Cloud 控制台中
  • 在終端機或 Cloud Shell 中使用 Google Cloud CLI
  • 直接傳送要求至 Cloud Tasks API

控制台

  1. 在 Google Cloud 控制台中,依序前往「Cloud Tasks」>「Queues」(佇列) 頁面。

    前往「Queues」(佇列)

  2. 按一下 「建立佇列」

  3. 輸入「Queue name」(佇列名稱),例如 my-queue

  4. 在「Region」(區域) 清單中,選取佇列執行的支援位置,例如 asia-south1

    如果貴機構限制資源位置,且您想在 us-central1us-central2 建立佇列,機構政策必須允許在 us-central1us-central2 建立佇列 (即使您只需要其中一個區域的佇列)。

  5. 您也可以選擇進一步設定佇列

  6. 點選「建立」

gcloud

使用 gcloud tasks queues create 指令建立佇列:

  gcloud tasks queues create QUEUE_ID \
      --location=LOCATION

更改下列內容:

  • QUEUE_ID:您指派給佇列的 ID,例如 my-queue

  • LOCATION:佇列執行的支援區域,例如 asia-south1

    如果貴機構限制資源位置,且您想在 us-central1us-central2 建立佇列,機構政策必須允許在 us-central1us-central2 建立佇列 (即使您只需要其中一個區域的佇列)。

您可以使用 gcloud CLI 指令的其他標記,設定速率限制、重試選項、佇列類型等。

REST API

如要建立佇列,請使用 projects.locations.queues.create 方法。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:您的 Google Cloud 專案 ID。
  • LOCATION:佇列執行的支援區域,例如 asia-south1

    如果貴機構限制資源位置,且您想在 us-central1us-central2 中建立佇列,機構政策必須允許在 us-central1us-central2 中建立佇列 (即使您只需要其中一個區域的佇列)。

  • QUEUE_ID:您指派給佇列的 ID,例如 my-queue
Queue 資源的其他可設定屬性包括速率限制、重試選項、佇列類型等。

JSON 要求主體:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/queues/QUEUE_ID"
}

如要傳送要求,請展開以下其中一個選項:

如果成功,回應主體會包含新建立的 Queue 例項:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/queues/QUEUE_ID",
  "rateLimits": {
    "maxDispatchesPerSecond": 500,
    "maxBurstSize": 100,
    "maxConcurrentDispatches": 1000
  },
  "retryConfig": {
    "maxAttempts": 100,
    "minBackoff": "0.100s",
    "maxBackoff": "3600s",
    "maxDoublings": 16
  },
  "state": "RUNNING"
}

剛建立好的佇列可能需要幾分鐘的時間才可供使用。

描述佇列

您可以透過下列方式確認佇列是否已成功建立:

  • 在 Google Cloud 控制台中
  • 在終端機或 Cloud Shell 中使用 gcloud CLI
  • 直接傳送要求至 Cloud Tasks API

控制台

  1. 在 Google Cloud 控制台中,依序前往「Cloud Tasks」>「Queues」(佇列) 頁面。

    前往「Queues」(佇列)

    綠色勾號 表示佇列正在執行。

  2. 如要查看更多詳細資料,請按一下佇列名稱,然後按一下「設定」分頁標籤。

gcloud

使用 gcloud tasks queues describe 指令確認佇列是否已成功建立:

gcloud tasks queues describe QUEUE_ID \
    --location=LOCATION

更改下列內容:

  • QUEUE_ID:佇列 ID (簡短名稱)
  • LOCATION:佇列位置

畫面會顯示如下的輸出內容:

name: projects/PROJECT_ID/locations/LOCATION/queues/QUEUE_ID
rateLimits:
  maxBurstSize: 100
  maxConcurrentDispatches: 1000
  maxDispatchesPerSecond: 500.0
retryConfig:
  maxAttempts: 100
  maxBackoff: 3600s
  maxDoublings: 16
  minBackoff: 0.100s
state: RUNNING

REST API

如要擷取佇列,請使用 projects.locations.queues.get 方法。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:您的 Google Cloud 專案 ID。
  • LOCATION:部署佇列的區域,例如 us-central1
  • QUEUE_ID:佇列的簡短 ID,例如 my-queue

如要傳送要求,請展開以下其中一個選項:

如果成功,回應主體會包含 Queue 的執行個體:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/queues/QUEUE_ID",
  "rateLimits": {
    "maxDispatchesPerSecond": 500,
    "maxBurstSize": 100,
    "maxConcurrentDispatches": 1000
  },
  "retryConfig": {
    "maxAttempts": 100,
    "minBackoff": "0.100s",
    "maxBackoff": "3600s",
    "maxDoublings": 16
  },
  "state": "RUNNING"
}

排解建立佇列的問題

如果沒有看到預期輸出內容,請嘗試下列做法:

  • 等待至少一分鐘的時間,讓佇列完成初始化。
  • 確認尚未存在相同 ID 的佇列。您可以使用 gcloud tasks queues list 指令,查看專案中的佇列:

    gcloud tasks queues list \
        --location=LOCATION

    如要搜尋多個地點,請提出多項要求。

  • 檢查您是否已達到佇列配額

    1. 在 Google Cloud 控制台中,前往 Cloud Tasks API 的「API/Service Details」(API/服務詳細資料) 頁面。

      前往「API/服務詳細資料」頁面

    2. 按一下「配額與系統限制」分頁標籤。

    3. 如要提高配額,請在配額的資料列中,依序按一下省略號圖示 > 「編輯配額」

      詳情請參閱「要求調整配額」。

  • 重新執行指令來建立佇列,並確保每個步驟都正確完成。

後續步驟