管理佇列和工作

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

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

刪除佇列中的工作

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

控制台

  1. 在 Google Cloud 控制台中,依序前往「Cloud Tasks」>「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」(佇列) 頁面。

    前往「佇列」頁面

  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」(佇列) 頁面。

    前往「佇列」頁面

  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 concurrent (控制台)、MAX_NUM_OF_TASKS (gcloud)、 maxConcurrentDispatches (REST)

控制台

  1. 在 Google Cloud 控制台中,依序前往「Cloud Tasks」>「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 方法。

使用任何要求資料之前,請先修改下列項目的值:

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

如果成功,回應主體會包含 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」(佇列) 頁面。

    前往「佇列」頁面

  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

要求主體必須為空白。

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

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