用途:创建并配置 Google Cloud Tasks 队列,实现可靠的异步任务执行。
主要能力:支持带限流的队列创建、失败任务重试策略配置、HTTP 与 App Engine 任务目标、带调度延迟的任务分发,以及队列管理操作(暂停、恢复、清空)。
前置条件:已启用 Cloud Tasks API 的 Google Cloud 项目(gcloud services enable cloudtasks.googleapis.com);已认证且具备 roles/cloudtasks.admin 或 roles/cloudtasks.enqueuer 的 gcloud CLI;用于接收任务的 HTTP 端点或 App Engine 服务;具备相应权限的服务账号。
使用方式:创建队列并限流:gcloud tasks queues create <queue-name> --location=<region> --max-dispatches-per-second=10 --max-concurrent-dispatches=5;配置重试:gcloud tasks queues update <queue-name> --max-attempts=5 --min-backoff=1s --max-backoff=300s --max-doublings=4;创建 HTTP 任务:gcloud tasks create-http-task --queue=<queue-name> --url=https://your-service.run.app/process --method=POST --body-content='<json-payload>';用 --schedule-time 指定 ISO 8601 时间戳(最长 30 天)实现延迟任务;用 gcloud tasks queues describe 查看状态;用 pause、resume、purge 管理队列。
适用场景:邮件处理队列、延迟 webhook 回调重试等异步任务。
限制与错误处理:队列名在区域内唯一,重复创建需先 describe 检查;任务创建 PERMISSION_DENIED 需授予 roles/cloudtasks.enqueuer;处理端返回 5xx 会按重试策略自动重试;超出限流需提高 max-dispatches-per-second 或降低创建速率。
参考:https://cloud.google.com/tasks/docs