配额和限制

Cloud Tasks 使用配额和系统限制来维持公平的资源分配、防止服务过载,并帮助您管理资源使用。

配额和系统限制类似,但在以下方面有所不同:

  • 配额具有默认值,但您通常可以申请调整。
  • 系统限制是无法更改的固定值。

配额

Google Cloud 使用配额来帮助维持公平性并减少资源使用和可用性的激增。配额用于限制您的 Google Cloud 项目可使用多少Google Cloud 资源。配额适用于一系列资源类型,包括硬件、软件和网络组件。例如,配额可以限制对某项服务的 API 调用次数、您的项目并发使用的负载均衡器数量或者您可以创建的项目数量。配额可以防止服务过载,从而保护Google Cloud 用户社区。配额还可以帮助您管理自己的 Google Cloud 资源。

Cloud 配额系统执行以下操作:

在大多数情况下,当您尝试消耗的资源超出其配额允许的范围时,系统会阻止对资源的访问,并且您尝试执行的任务会失败。

配额通常在 Google Cloud 项目级别应用。您在一个项目中使用资源不会影响您在另一个项目中的可用配额。在 Google Cloud 项目中,配额在所有应用和 IP 地址间共享。

如需了解详情,请参阅 Cloud 配额概览。

下表介绍了 Cloud Tasks 资源的配额。

资源 控制台配额名称 默认值 说明
队列数量上限 每个区域的队列数量 每个区域 1,000 个

每个区域的一个项目中的总队列数(包括 HTTP 和 App Engine 目标),包括默认队列。

为 App Engine 目标处理任务的队列必须与 App Engine 应用位于同一区域。这是使用 Cloud Tasks API 方法创建的队列的配额。但是,使用 queue.yaml 创建的所有队列都基于旧的任务队列方法。这些队列的初始配额仍为 100。

API 请求 每个区域每分钟的请求数 每分钟 6,000,000 个连接

每分钟可发出的 API 请求总数。

请注意,在创建一批任务 (batchCreate) 或删除一批任务 (batchDelete) 时,配额消耗量取决于该批次中的任务数量。批处理中的每个单独任务都算作一个请求,会计入 API 请求配额限制。

强制运行任务请求 每个区域每分钟的任务运行请求数 每分钟 60 次 每分钟 run task 请求总数。此 API 旨在用于手动调试,与正常任务执行无关。
列出请求 每个区域每分钟的列出群组请求数 每分钟 600 每分钟 list tasks、list queues 和 list locations 请求总数。

如需调整大多数配额,请使用 Google Cloud 控制台。如需了解详情,请参阅申请配额调整。

系统限制

Cloud Tasks 资源也有系统限制。系统限制不能更改。

下表介绍了 Cloud Tasks 的系统限制。

资源 值 说明
队列分派速率 每个队列每秒 500 个任务 从队列中分派任务的最大速率。要提高任务分派的速率,请使用多个队列。
任务大小上限 1 MiB 可添加到队列的任务的大小上限。
批次大小上限 10 MiB 可添加到队列中的一批任务的大小上限。
批量创建的任务数上限 100 个任务 在单个 batchCreate 请求中可以创建的任务数量上限。
批量删除的任务数上限 1000 个任务 在单个 batchDelete 请求中可以删除的任务数上限。
任务去重窗口 最长需 24 小时 在该时段内,添加与最近删除的任务同名的任务会导致服务拒绝该任务并报错。 这是任务删除后任务重复信息删除保持有效的时间长度。
批量操作去重窗口 7 天 为进行去重而保留批处理操作 ID 及其结果的时间段。
无效队列 30 天后无效 如果没有任何 API 对某个队列进行方法调用,并且该队列在此期间没有任务分派,则该队列会被视为INACTIVE。
任务保留期限上限 31 天 任务添加到队列中到系统自动删除该任务之间的时间长度。
任务安排时长上限 从当前日期和时间算起 30 天 可以安排任务的距今最远的将来时间。
队列重新创建 3 天 删除队列后,您必须等待一段时间才能重新创建同名队列。