跳转到内容
搜索文档

限制

最后更新 查看 MarkdownAgent 设置
功能 限制
Queues 每个账户 10,000 个
消息大小 128 KB 1
消息重试 100
最大消费者批大小 100 条消息
每次 sendBatch 调用的最大消息数 100(或总计 256 KB)
最大批等待时间 60 秒
每个队列的消息吞吐量 每秒 5,000 条消息 2
消息保留期 3 可配置最长 14 天
每个队列的积压大小 4 25 GB
并发消费者调用 250 仅 push 模式
消费者持续时间(挂钟时间) 15 分钟 5
消费者 CPU 时间 可配置最长 5 分钟
visibilityTimeout(pull 队列) 12 小时
delaySeconds(发送或重试时) 24 小时

1 1 KB 按 1000 字节计算。消息可包含最多约 100 字节的内部元数据,计入总消息限制。

2 超过最大消息吞吐量会导致 send()sendBatch() 方法抛出 Too Many Requests 异常,直到生产者降至限制以下。

3 队列中达到最大消息保留期的消息将被删除。Queues 不会删除同一队列中尚未达到该限制的消息。

4 达到此限制的单个队列在调用 send()sendBatch() 时会收到 Storage Limit Exceeded 错误。

5 请参阅 Workers 限制

提高 Queue 消费者 Worker 的 CPU 限制

Queue 消费者 Worker 是 Worker 脚本,与任何 Worker 一样共享相同的每次调用 CPU 限制。请注意,CPU 时间是主动处理时间,而非等待网络请求、存储调用或其他一般 I/O 的时间。

默认情况下,每个消费者 Worker 调用的最大 CPU 时间为 30 秒,但可在 Wrangler 配置中通过设置 limits.cpu_ms 来提高:

{
  // ...rest of your configuration...
  "limits": {
    "cpu_ms": 300000, // 300,000 milliseconds = 5 minutes
  },
  // ...rest of your configuration...
}
[limits]
cpu_ms = 300_000

要了解更多关于 CPU 时间和限制的信息,请参阅 Workers 文档

按调用类型的挂钟时间限制

挂钟时间(也称为 wall-clock time)是从调用开始到结束的总经过时间,包括等待网络请求、I/O 和其他异步操作所花费的时间。这与 CPU 时间不同,后者仅衡量 CPU 主动执行代码所花费的时间。

下表总结了开发者平台上不同类型 Worker 调用的挂钟时间限制:

调用类型 挂钟时间限制 详细信息
传入 HTTP 请求 无限制 客户端保持连接时没有硬性限制。仍在流式传输响应正文的 Worker 保持活动。waitUntil() 在响应或断开连接后将执行延长最多 30 秒。
Cron Triggers 15 分钟 计划 Worker 每次调用最长挂钟时间为 15 分钟。
Queue 消费者 15 分钟 每次消费者调用最长挂钟时间为 15 分钟。
Durable Object alarm handler 15 分钟 Alarm handler 调用最长挂钟时间为 15 分钟。
Durable Objects(RPC / HTTP) 无限制 调用方保持与 Durable Object 连接时没有硬性限制。Durable Objects 在请求、RPC 调用、响应流、WebSocket 或待处理 I/O 进行中时保持活动。
Workflows(每步) 无限制 每个步骤可以运行无限挂钟时间。各个步骤受配置的 CPU 时间限制约束。

这篇文档对您有帮助吗?