SuperAPI AI 工具集

inngest-flow-control

通用与其它

查看项目

更新于 10-15 23:34

技能介绍

用途:为 Inngest 函数配置流控机制,管理资源、防止系统过载、保证应用可靠性。资料以 TypeScript 为主,Python 或 Go 需参考 Inngest 官方文档,核心概念跨语言通用。

主要能力与选择:限制同时运行数量用并发(concurrency);把运行分散到时间上用节流(throttle);一段时间内超过 N 次就阻止用限流(rateLimit);等活动中止后只运行一次用防抖(debounce);同一 key 同时只运行一个用单例(singleton);把事件分组处理用批处理(batchEvents);让部分运行更优先用优先级(priority)。

关键区别:并发限制的是正在执行的步骤而非函数运行,等待 step.sleep() 或 step.waitForEvent() 不计入;节流限制函数启动速率,限流会丢弃事件而节流会延迟事件。

用法要点:并发可用 key 按唯一值限制(多租户公平),也可用 scope: "account" 跨函数共享配额;节流支持 limit、period(1s 到 7d)、burst、key;限流支持 limit、period、key;防抖支持 period、key、timeout;优先级用 run 表达式按数据动态排序;单例有 skip(保留当前运行)与 cancel(用最新事件)两种模式;批处理支持 maxSize、timeout、key。

适用场景:保护数据库、多租户公平、共享 API 配额、规避第三方 API 速率限制、防止 webhook 重复、用户快速输入(搜索、文档编辑)、VIP 或高严重度任务优先、批量发送邮件等。

限制:资料未提供具体收费、价格、平台支持范围或性能数据;示例为 TypeScript,其他语言需查官方文档;生产函数通常组合 1-3 种流控机制。