把耗时操作移出请求路径
收录 2026-10
发短信、生成报表这类操作塞在接口里,用户等到超时,改成事务后异步执行
这个接口在返回前同步完成了 [耗时操作],平均多花 [耗时]。请把它移到请求路径之外:事务提交后投递任务、由消费方异步执行,并处理投递失败与重复执行。输出:改造后的调用流程、事务与消息的一致性保证方式、消费端幂等设计、以及用户如何得知最终结果。
本站原创
中文原文
使用示例
示例输入
下单接口返回前同步生成了发票和推送通知,平均多花两秒,帮我移到请求路径外。
输出应包含
- 事务提交后再投递任务写清
- 投递失败与重复执行的处理
- 用户怎么得知最终处理结果
复制前替换这些占位符 2
把方括号里的内容换成你的具体信息,替换后再粘贴给 AI。
[耗时操作][耗时]
使用建议
别在事务提交前发消息,回滚之后消息已经出去了,比不发更难收拾。
可以这样改
- 要求它先复述需求与约束,确认无误再写代码。
- 让它给出最小改动 + 回滚方式,而不是整文件重写。
交付物(这次应拿到什么)
- 可运行的最小改动(含直接可用的代码块)
- 影响面清单:改了哪些文件、哪些调用点要跟着改
常见错法
- 一次让它改十个文件,最后分不清哪处改动导致了新问题。
- 只贴报错不贴代码和版本,拿到无法落地的修法。
输出验收(怎么判断能用)
- 改动可运行、可回滚,且没顺手改无关代码。
- 边界条件(空值、超长、并发)有说明或测试。
适用场景与注意
- 适合:让它先复述需求和约束,再给最小可运行改动。
- 注意:贴报错时同时给版本号与最小复现,否则它容易给出看似合理但不适配的写法。