用途:该技能聚焦 Inngest 的持久化执行模型,用于构建能承受进程崩溃、失败自动重试、按计划运行、响应事件并跨步骤保持状态的长时工作流,主要面向 TypeScript,Python 与 Go 需参考 Inngest 官方文档。
主要能力:以 step.run() 封装副作用与非确定性代码,通过记忆化避免已完成步骤重复执行,状态持久化可跨基础设施故障;支持事件触发、条件过滤、cron 触发(含时区)及多触发器;支持 step.invoke() 调用其他函数、step.sendEvent() 连接函数;提供事件级与函数级幂等、cancelOn 事件取消与超时取消、NonRetriableError 与 RetryAfterError 等错误处理、可配置重试次数、checkpointing 性能优化与日志配置。
使用方式:用 inngest.createFunction 定义函数,在首个参数中设置 id、triggers、retries、concurrency、idempotency、cancelOn、timeouts、checkpointing 等;在处理器内用 step.run 包裹 API 调用、数据库读写、文件 I/O 等需独立重试的操作,纯计算与校验不放入步骤,日志应放在步骤内以避免重复。
限制:每个函数运行最多 1000 步,每步返回数据最多 4MB,单次运行状态(含事件数据、步骤输出与函数输出)合计最多 32MB,每步为独立 HTTP 请求并带来约 50-100ms 开销;超出限制应拆分为更小函数。v4 中 logLevel 选项已移除,改用 logger 与 ConsoleLogger。资料未提供具体收费、价格与平台支持信息。