管理佇列和工作

您可以透過下列方式管理佇列和工作:

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

刪除佇列中的工作

如果工作已排定或分派,你可以刪除工作。舉例來說,您可能需要刪除無法順利完成的工作,無論重試多少次都一樣。如果工作已順利完成,或持續失敗並已用盡重試次數,就無法刪除。

主控台

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

    前往「Queues」(佇列)

  2. 按一下要刪除工作的佇列名稱。

  3. 選取要刪除的工作核取方塊。

  4. 按一下「刪除工作」圖示

  5. 在系統的提示訊息中,按一下 [刪除]

gcloud

使用 gcloud tasks delete 指令刪除工作:

gcloud tasks delete TASK_NAME \
    --queue=QUEUE_ID \
    --location=LOCATION

更改下列內容:

  • TASK_NAME:要刪除的工作名稱
  • QUEUE_ID:工作所屬佇列的名稱
  • LOCATION:佇列部署所在的區域,例如 us-central1

REST

如要刪除工作,請使用 projects.locations.queues.tasks.delete 方法。

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

  • QUEUE_ID:工作所屬佇列的名稱
  • TASK_NAME:要刪除的工作名稱
  • PROJECT_ID:您的 Google Cloud專案 ID
  • LOCATION:佇列所在的區域,例如 us-central1

要求主體必須為空白。

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

如果成功,回應主體會留白。

清除佇列中的所有工作

您可以清除佇列中的所有工作,系統會永久刪除清除呼叫前建立的所有工作。不過,清除作業最多可能需要一分鐘才會生效,且系統可能會在清除作業生效前指派工作。

主控台

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

    前往「Queues」(佇列)

  2. 按一下要刪除工作的佇列名稱。

  3. 按一下 「清除佇列」

  4. 在提示中按一下「清除」

gcloud

使用 gcloud tasks queues purge 指令清除佇列:

gcloud tasks queues purge QUEUE_ID \
    --location=LOCATION

更改下列內容:

  • QUEUE_ID:要清除的佇列名稱
  • LOCATION:佇列部署所在的區域,例如 us-central1

REST

如要清除佇列,請使用 projects.locations.queues.purge 方法。

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

  • QUEUE_ID:要清除的佇列名稱
  • PROJECT_ID:您的 Google Cloud專案 ID
  • LOCATION:佇列部署的區域,例如 us-central1

要求主體必須為空白。

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

如果成功,回應主體會包含 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",
  "purgeTime": "2025-03-28T13:06:30.110255Z"
}

暫停或繼續佇列

你可以暫停或繼續佇列。暫停佇列表示系統會停止執行及傳送工作。您還是可以建立工作,並將工作推送或附加至佇列,但系統不會處理這些工作。佇列恢復後,系統會依序處理積壓的工作。

主控台

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

    前往「Queues」(佇列)

  2. 找到要暫停的佇列,然後勾選對應的核取方塊。

  3. 按一下 「暫停佇列」

  4. 在系統的提示訊息中,按一下「暫停」

  5. 如要恢復佇列,請按一下 「恢復佇列」

gcloud

  1. 使用 gcloud tasks queues pause 指令暫停佇列:

    gcloud tasks queues pause QUEUE_ID \
        --location=LOCATION

    更改下列內容:

    • QUEUE_ID:要暫停的佇列名稱
    • LOCATION:佇列部署所在的區域,例如 us-central1
  2. 使用 gcloud tasks queues resume 指令繼續佇列:

    gcloud tasks queues resume QUEUE_ID \
        --location=LOCATION

REST

  1. 如要暫停佇列,請使用 projects.locations.queues.pause 方法。

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

    • QUEUE_ID:要暫停的佇列名稱
    • PROJECT_ID:您的 Google Cloud專案 ID
    • LOCATION:佇列部署的區域,例如 us-central1

    要求主體必須為空白。

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

    如果成功,回應主體會包含 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": "PAUSED"
    }
    

  2. 如要恢復佇列,請使用 projects.locations.queues.resume 方法。

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

    • QUEUE_ID:要繼續執行的佇列名稱
    • PROJECT_ID:您的 Google Cloud專案 ID
    • LOCATION:佇列部署的區域,例如 us-central1

    要求主體必須為空白。

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

    如果成功,回應主體會包含 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"
    }
    

列出佇列

您可以列出佇列。列出佇列時,系統會傳回部分速率限制重試參數詳細資料。請注意,下列欄位的作用相同:

  • 最高速率 (控制台)、MAX_RATE (gcloud)、 maxDispatchesPerSecond (REST)
  • 最大並行數 (控制台)、MAX_NUM_OF_TASKS (gcloud)、 maxConcurrentDispatches (REST)

主控台

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

    前往「Queues」(佇列)

    系統會列出 Google Cloud 專案中的所有佇列。

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

    系統會顯示速率限制和重試參數詳細資料。

gcloud

使用 gcloud tasks queues list 指令列出佇列:

gcloud tasks queues list \
    --location=LOCATION

LOCATION 替換為佇列部署所在的區域,例如 us-central1。如未指定位置,系統會使用 Google Cloud 專案的 App Engine 應用程式位置 (如有),否則您必須指定位置。

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

QUEUE_NAME: my-queue
STATE: PAUSED
MAX_NUM_OF_TASKS: 1000
MAX_RATE (/sec): 500.0
MAX_ATTEMPTS: 100
...

REST

如要列出佇列,請使用 projects.locations.queues.list 方法。

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

  • PROJECT_ID:您的 Google Cloud專案 ID。
  • LOCATION:建立佇列的區域,例如 us-central1

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

如果成功,回應主體會包含 Queue 資源的執行個體,回應內容應類似於下列內容:

{
  "queues": [
    {
      "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": "PAUSED",
      "purgeTime": "2025-03-28T13:37:32.292552Z"
    },
    ...
  ],
  "nextPageToken": "CjQKCHppcHBlcjIAEgwI9-GExAYQ_oDc1AMaGioLeWlrZXMtYWdhaW4yC3VzLWNlbnRyYWwx"
}

刪除佇列

你可以刪除佇列。佇列中的所有工作也會一併刪除。刪除佇列後,必須等待 3 天才能重新建立名稱相同的佇列。這段等待時間可避免在刪除或等待執行的工作發生非預期行為。此外,也能避免刪除或重新建立週期時發生內部程序錯誤。

主控台

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

    前往「Queues」(佇列)

  2. 找到要刪除的佇列,然後勾選對應的核取方塊。

  3. 按一下 「刪除佇列」

  4. 在提示中輸入佇列名稱,然後按一下「確認」

gcloud

使用 gcloud tasks queues delete 指令刪除佇列:

gcloud tasks queues delete QUEUE_ID \
    --location=LOCATION

更改下列內容:

  • QUEUE_ID:要刪除的佇列名稱
  • LOCATION:佇列部署所在的區域,例如 us-central1

REST

如要刪除佇列,請使用 projects.locations.queues.delete 方法。

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

  • QUEUE_ID:要刪除的佇列名稱
  • PROJECT_ID:您的 Google Cloud專案 ID
  • LOCATION:佇列部署的區域,例如 us-central1

要求主體必須為空白。

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

如果成功,回應主體會留白。