本頁說明如何建立 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
控制台
gcloud
使用 gcloud tasks queues create
指令建立佇列:
gcloud tasks queues create QUEUE_ID \ --location=LOCATION
更改下列內容:
QUEUE_ID
:您指派給佇列的 ID,例如my-queue
。LOCATION
:佇列執行的支援區域,例如asia-south1
。如果貴機構限制資源位置,且您想在
us-central1
或us-central2
建立佇列,機構政策必須允許在us-central1
和us-central2
建立佇列 (即使您只需要其中一個區域的佇列)。
您可以使用 gcloud CLI 指令的其他標記,設定速率限制、重試選項、佇列類型等。
REST API
如要建立佇列,請使用 projects.locations.queues.create
方法。
使用任何要求資料之前,請先替換以下項目:
PROJECT_ID
:您的 Google Cloud 專案 ID。LOCATION
:佇列執行的支援區域,例如asia-south1
。如果貴機構限制資源位置,且您想在
us-central1
或us-central2
中建立佇列,機構政策必須允許在us-central1
和us-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
控制台
在 Google Cloud 控制台中,依序前往「Cloud Tasks」>「Queues」(佇列) 頁面。
綠色勾號
表示佇列正在執行。如要查看更多詳細資料,請按一下佇列名稱,然後按一下「設定」分頁標籤。
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
如要搜尋多個地點,請提出多項要求。
檢查您是否已達到佇列配額:
在 Google Cloud 控制台中,前往 Cloud Tasks API 的「API/Service Details」(API/服務詳細資料) 頁面。
按一下「配額與系統限制」分頁標籤。
如要提高配額,請在配額的資料列中,依序按一下省略號圖示 > 「編輯配額」。
詳情請參閱「要求調整配額」。
重新執行指令來建立佇列,並確保每個步驟都正確完成。