首页 帮助中心 错误处理 Error Handling 修复速率限制(rate limit)错误

修复速率限制(rate limit)错误

在 Make 中,当对某个应用(app)的请求超过其 API 速率限制(rate limit)——即在特定时间内允许的最大请求数(例如每分钟 100 次请求)——时,您会看到 RateLimitError。当其速率限制被超出时,该应用会阻止后续请求,直到指定的时间段过去。例如,请参阅 Google Sheets 的 API 速率限制(rate limits)

速率限制错误常见于具有即时触发器(instant triggers)(例如 Webhooks)的场景(scenario)中,以及在短时间内处理大量记录的应用(例如 Google SheetsAirtable)中,以及在多个场景(scenario)中多次使用的应用中。

本文概述了防止即时场景(instant scenarios)、计划场景(scheduled scenarios)以及这两种类型中出现速率限制错误的策略。

Make 中的速率限制错误对应于 HTTP 429 Too Many Requests 错误代码。虽然 Make 遵循标准错误代码及其定义,但第三方应用可能并不总是符合此标准。

按调度类型划分的策略

当模块(module)返回速率限制错误且不存在错误处理程序时,Make 会根据以下因素进行响应:

* 场景(scenario)调度类型 * 是否启用了 未完成执行(incomplete executions)

下表概述了遇到速率限制错误时所有可能的响应:

调度类型 | 禁用未完成执行(incomplete executions) | 启用未完成执行(incomplete executions) ---|---|--- 计划(Scheduled) | Make 将暂停下一个场景(scenario)运行 20 分钟。
Make 不会重新运行场景(scenario)。

| Make 将暂停下一个场景(scenario)运行 20 分钟。
Make 使用 指数退避(exponential backoff) 重新运行未完成执行。

即时(Instant) | Make 使用 指数退避(exponential backoff) 从头开始重新运行未完成执行。 | Make 使用 指数退避(exponential backoff) 重新运行未完成执行。

避免速率限制错误的策略取决于场景(scenario)是通过即时触发器(instant triggers)即时接收数据,还是按计划接收数据。

即时场景(instant scenarios)

在即时触发的场景(scenario)中,设置 场景速率限制(scenario rate limit) 来控制场景(scenario)每分钟运行的频率。此策略将请求的突然峰值分散到更长的时间段内,使排队的请求能够以可控的速率处理。

您可以在 Maximum runs to start per minute(每分钟最大启动运行次数)字段中配置场景(scenario)速率限制。通过点击即时触发器模块(module)上的闪电图标或场景(scenario)工具栏中的 Schedule setting(计划设置)找到此设置。

!Document image

您也可以启用顺序处理(sequential processing)或使用睡眠模块(sleep modules)。但是,这些策略具有局限性,仅适用于特定情况。请参阅 高级策略 以了解更多。

计划场景(scheduled scenarios)

在计划场景(scheduled scenarios)(例如使用 轮询触发器(polling triggers))中,根据您的用例,可以尝试以下策略:

设置更长的调度间隔

当您预期单次运行中会有许多数据记录时,延长场景(scenario)运行之间的时间,以分散请求负载。

学以致用,立即上手

读完文档后,不如亲自动手 — 免费注册 Make.com 账户,跟着教程搭建你的第一个工作流

✓ 永久免费版 ✓ 无需信用卡 ✓ 60 秒注册
🚀 免费注册 Make 账户