新闻详情

新闻详情

首页 / 资讯中心 / 详情

Mastra 工作流重试:让偶发故障不再拖垮整条 run

发布时间:2026/9/4 12:07:45来源:尧图网络
Mastra 工作流重试:让偶发故障不再拖垮整条 run
Mastra 工作流重试让偶发故障不再拖垮整条 run【免费下载链接】mastraMastra is the modern TypeScript framework for AI-powered applications and agents.项目地址: https://gitcode.com/GitHub_Trending/ma/mastra跑 Mastra 工作流的人大概率遇到过这个场景一个 fetch 外部接口的步骤偶发超时整条 run 直接失败前面已经跑完的五个步骤全部作废只能手动从头重跑。Mastra 工作流重试就是为这类瞬时性故障准备的失败的步骤按你配置的次数和间隔重跑而不是让整条 run 陪葬。1 没有重试一条 run 能赔掉多少一次 fetch 超时步骤失败run 进入 failed 状态。上游调度的下一次调度要等几分钟期间用户侧已经感知到没结果。你手动重启后前面 5 个步骤含 LLM 调用原样重跑一遍token 和耗时全花第二次。重试机制只解决一件事把偶发失败和整条 run 报废隔开代价是几毫秒到几秒的等待。2 触发、行为、结果三段看懂机制这一节帮你建立准确的预期后面所有配置都建立在这个模型上。触发某个 step 抛出异常。引擎会先查这个 step 是否自己声明了重试通过error()配置没有则回落到工作流级的retryConfig两者都没配就按attempts 0处理即失败即停。行为以固定delay毫秒间隔重跑该步骤最多重试attempts次。注意是固定间隔不是指数退避别按后者的预期去调参。结果任意一次重试成功流程从该步骤继续往下走全部耗尽整条 run 才失败。已执行完的步骤不受影响不重跑。3 最小可用示例给 fetch 步骤加 3 行重试下面这段只覆盖最常见的场景一个调外部接口的步骤偶发超时。关键点全在error()的options里。const fetchStep createStep({ id: fetch-data, inputSchema: z.object({ url: z.string() }), outputSchema: z.object({ data: z.any() }), execute: async ({ context }) { const res await fetch(context.url); if (!res.ok) throw new Error(HTTP ${res.status}); return { data: await res.json() }; }, error: () error({ message: fetch failed, options: { retry: { attempts: 2, delay: 500 } } }), });attempts: 2表示重试 2 次连同首次一共执行 3 次。外部接口偶发超时2 次基本够用再高就是浪费。delay: 500表示每次重试前等 500ms。给对端一点恢复窗口又不至于让整条 run 的延迟失控。不写error()时走工作流级retryConfig默认是{ attempts: 0, delay: 0 }也就是不重试。所以配了没生效九成是写错了层级。4 不同场景怎么选参数这张表帮你按场景直接取值不用逐个参数试。场景建议配置理由外部 API 偶发超时attempts: 2delay: 500~1000ms2 次覆盖多数瞬时抖动总延迟增加约 1s本地确定性计算不配重试同输入必同结果重跑 100 次也是错批量任务中的单条失败低 attemptsdelay 调大单条慢恢复不影响整体吞吐LLM 调用限流429attempts: 3delay: 1000ms 起限流窗口通常秒级间隔太短白烧次数写操作发消息、扣款不配或极谨慎重试可能放大副作用先确认幂等核心原则一句话重试只用来对抗瞬时性故障确定性错误重试一百次也是错。5 高频翻车点自查这四个坑都是真实容易踩的按现象 → 原因 → 修法对号入座。现象attempts 写了 3失败时只看到重试了 1 次。原因step 级error()的 retry 会覆盖工作流级retryConfig你改的可能不是生效的那层。修法确认生效层级源码逻辑是 step 声明优先、工作流配置兜底。现象重试明明生效了但业务上还是错。原因步骤失败是确定性的比如参数缺失重试只增加耗时不改变结果。修法这类错误不配重试直接快速失败。现象delay 设了 1 秒重试还是立刻发生。原因delay 单位是毫秒delay: 1等于 1ms约等于没有。修法想要秒级等待就写delay: 1000起。现象日志里看不到重试痕迹不知道有没有生效。原因没在失败场景里实际验证过。修法本地让步骤前两次故意抛错确认第三次成功且 run 最终成功。下一步挑一条你线上最常超时的工作流按第 3 节的写法加一段error()重试配置然后故意制造一次失败验证它真的生效。机制源码在 packages/core/src/workflows/工作流级默认配置attempts: 0, delay: 0见 packages/core/src/workflows/default.ts行为边界以 retry 预算测试 为准。【免费下载链接】mastraMastra is the modern TypeScript framework for AI-powered applications and agents.项目地址: https://gitcode.com/GitHub_Trending/ma/mastra创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

AI测试开发实战:代码生成之外,预期与断言才是核心 2026/9/4 19:55:18

AI测试开发实战:代码生成之外,预期与断言才是核心

先抛一个和大多数教学视频不太一样的观点:把 Claude Code、TRAE、DeepSeek 真正放进测试开发流程之后,最先发生变化的不是“测试代码写得快了”,而是“确认预期的方式变了”。 我在团队里做了一轮小范围实验:让 AI 从一个接口文档…

阅读更多 →
记忆增强压缩:将思维链推理移入提示词,降低Token成本与延迟 2026/9/4 19:55:18

记忆增强压缩:将思维链推理移入提示词,降低Token成本与延迟

先给结论:记忆增强压缩的核心工作,是把一批反复使用的推理步骤从生成阶段拿出来,提前整理好放进提示词里,用一套稳定的“可复用推理记忆”去替代模型每次从零推导的思维链过程。它针对的是思维链成本问题,更准确地说&a…

阅读更多 →
软件卸载不干净?快照对比工具Total Uninstall让残留清理有据可依 2026/9/4 19:55:18

软件卸载不干净?快照对比工具Total Uninstall让残留清理有据可依

先说结论:如果你装软件、卸载软件频繁,或者遇到过“明明卸载了,但安装目录还在、右键菜单还在、开机启动项还在”这类情况,Total Uninstall这类带安装前后快照对比的卸载工具,比Windows自带卸载和普通卸载工具更值得一…

阅读更多 →
监控场景专用YOLO行人检测数据集:小目标、低分辨率、长焦距优化 2026/9/4 19:55:18

监控场景专用YOLO行人检测数据集:小目标、低分辨率、长焦距优化

简介:本资源是一套专为监控场景行人目标检测任务构建的YOLO格式数据集,面向计算机视觉初学者与算法工程师,解决实际安防、智能监控等应用中行人定位与识别的数据基础需求。数据集严格遵循YOLOv5目录结构组织,包含训练集&#xff0…

阅读更多 →
MATLAB实现5G NR LDPC编解码的协议级实战指南 2026/9/4 19:55:18

MATLAB实现5G NR LDPC编解码的协议级实战指南

简介:本资源是一套面向通信工程专业学生、5G算法研究者及MATLAB仿真开发者的5G NR标准LDPC编解码器完整实现方案,聚焦于新无线系统中关键的前向纠错技术建模与验证。压缩包共含多个MATLAB脚本文件(.m为主),涵盖LDPC编码…

阅读更多 →
市面上的GEO工具怎么选,别只看价格看这几个关键点 2026/9/4 19:52:17

市面上的GEO工具怎么选,别只看价格看这几个关键点

免责声明:本文为个人实操观测总结,仅作为创作参考,不代表工具厂商官方结论,产品功能、算法策略会持续迭代,一切以厂商官方公示为准。一、【GEO 工具】分别是什么?介绍双方定位GEO 全称生成式引擎优化&#…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞