管理佇列和工作的方式如下:
- 在 Google Cloud 控制台中
- 在終端機或 Cloud Shell 中使用 Google Cloud CLI
- 向 Cloud Tasks API 傳送要求
從佇列中刪除工作
如果工作已排定時間或派送,你可以刪除工作。舉例來說,您可能需要刪除無法順利完成的任務,無論重試多少次都一樣。如果工作已順利完成,或是持續失敗並已用盡重試次數,就無法刪除。如果達到工作保留期限上限,系統會自動刪除工作。
控制台
在 Google Cloud 控制台中,依序前往「Cloud Tasks」>「Queues」(佇列) 頁面。
按一下要刪除工作所屬佇列的名稱。
勾選要刪除的工作。
按一下 「刪除工作」
在系統的提示訊息中,按一下 [刪除]。
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專案 IDLOCATION:佇列所在的區域,例如us-central1
要求主體必須為空白。
請展開以下其中一個選項,以傳送要求:
如果成功,回應主體會是空白。
從佇列中刪除一批工作
如要從佇列中刪除批次工作,請使用 projects.locations.queues.tasks.batchDelete 方法刪除工作名稱清單。
注意事項:
所有工作都必須從同一個佇列刪除。
單一批次可刪除的任務數量有限。詳情請參閱「配額與限制」。
批次要求會將個別作業彙整為單一要求,但並非不可分割,因為批次中可能部分作業失敗,部分作業成功。
只有已排定或派出的工作可以刪除。如果工作已順利完成,或在持續失敗後重試次數已用盡,就無法刪除。達到工作保留時間上限時,系統會自動刪除工作。
你也可以一次建立多項工作。詳情請參閱「建立批次工作」。
使用任何要求資料之前,請先修改下列項目的值:
TASK_NAME:要刪除的工作名稱,格式如下:projects/PROJECT_ID/locations/REGION/queues/QUEUE_ID/tasks/TASK_IDPROJECT_ID:您的 Google Cloud專案 IDREGION:佇列所在的區域,例如us-central1QUEUE_ID:工作所屬佇列的名稱
要求主體包含工作名稱清單。
JSON 要求內文:
{
"names": [
"TASK_NAME"
]
}
請展開以下其中一個選項,以傳送要求:
如果成功,回應主體會包含 Operation 的執行個體。
{
"name": "projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.tasks.v2.BatchDeleteTasksMetadata"
},
"done": false
}
清除佇列中所有任務
您可以清除佇列中的所有工作,系統會永久刪除清除呼叫前建立的所有工作。不過,清除作業最多可能需要一分鐘才會生效,且系統可能會在清除作業生效前派送工作。
控制台
在 Google Cloud 控制台中,依序前往「Cloud Tasks」>「Queues」(佇列) 頁面。
按一下要刪除工作所屬佇列的名稱。
按一下 清除佇列。
提示出現時,點選「清除」。
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專案 IDLOCATION:佇列部署所在的區域,例如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"
}
暫停或繼續佇列
你可以暫停或繼續佇列。暫停佇列表示系統會停止執行及傳送工作。您還是可以建立工作,並將工作推送或附加至佇列,但工作不會處理。佇列恢復後,系統會依序處理佇列積壓的任何工作。
控制台
在 Google Cloud 控制台中,依序前往「Cloud Tasks」>「Queues」(佇列) 頁面。
找出要暫停的佇列,然後勾選對應的核取方塊。
按一下「暫停佇列」。
提示出現時,點選「暫停」。
如要繼續佇列,請按一下「繼續佇列」 。
gcloud
使用
gcloud tasks queues pause指令暫停佇列:gcloud tasks queues pause QUEUE_ID \ --location=LOCATION
更改下列內容:
QUEUE_ID:要暫停的佇列名稱LOCATION:佇列部署所在的區域,例如us-central1
使用
gcloud tasks queues resume指令繼續佇列:gcloud tasks queues resume QUEUE_ID \ --location=LOCATION
REST
如要暫停佇列,請使用
projects.locations.queues.pause方法。使用任何要求資料之前,請先修改下列項目的值:
QUEUE_ID:要暫停的佇列名稱PROJECT_ID:您的 Google Cloud專案 IDLOCATION:佇列部署所在的區域,例如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" }如要繼續佇列,請使用
projects.locations.queues.resume方法。使用任何要求資料之前,請先修改下列項目的值:
QUEUE_ID:要繼續的佇列名稱PROJECT_ID:您的 Google Cloud專案 IDLOCATION:佇列部署所在的區域,例如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)
控制台
在 Google Cloud 控制台中,依序前往「Cloud Tasks」>「Queues」(佇列) 頁面。
系統會列出 Google Cloud 專案中的所有佇列。
如要查看更多詳細資料,請按一下佇列名稱,然後按一下「設定」分頁標籤。
系統會顯示速率限制和重試參數詳細資料。
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 天才能以相同名稱重新建立。這段等待期可避免在刪除或等待執行的工作發生非預期行為。此外,這也能避免在刪除或重新建立週期中發生內部程序失敗。
控制台
在 Google Cloud 控制台中,依序前往「Cloud Tasks」>「Queues」(佇列) 頁面。
勾選要刪除佇列的核取方塊。
按一下 「刪除佇列」。
收到提示時,請輸入佇列名稱,然後按一下「確認」。
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專案 IDLOCATION:佇列部署所在的區域,例如us-central1
要求主體必須為空白。
請展開以下其中一個選項,以傳送要求:
如果成功,回應主體會是空白。