From ea949a4b663f2530f38f2cdd0ad4bd6d76ed1cf5 Mon Sep 17 00:00:00 2001 From: qhd <1766646056@qq.com> Date: Tue, 1 Sep 2026 10:44:09 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E8=AE=A1=E5=88=92Task6=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E7=A1=AE=E5=AE=9A=E6=80=A7=E4=BF=AE=E6=AD=A3(singlefl?= =?UTF-8?q?ight=20=E4=BB=85=20in-flight=20=E5=8E=BB=E9=87=8D,=20fn=20?= =?UTF-8?q?=E5=8A=A0=2050ms=20sleep)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/superpowers/plans/2026-09-01-llm-error-retry-memory.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/superpowers/plans/2026-09-01-llm-error-retry-memory.md b/docs/superpowers/plans/2026-09-01-llm-error-retry-memory.md index f453f0a..883a718 100644 --- a/docs/superpowers/plans/2026-09-01-llm-error-retry-memory.md +++ b/docs/superpowers/plans/2026-09-01-llm-error-retry-memory.md @@ -704,9 +704,12 @@ package service import ( "sync" "testing" + "time" ) // analyzeOnce 应合并并发同键分析请求,只执行一次 fn +// 注:singleflight 仅对 in-flight 请求去重,故 fn 内须 sleep(50ms) 拉长执行窗口, +// 否则 10 个 goroutine 未必都在首个完成前启动,calls==1 断言会间歇失败(计划原版因此非确定,已修)。 func TestAnalyzeOnceDedup(t *testing.T) { var mu sync.Mutex calls := 0 @@ -714,6 +717,7 @@ func TestAnalyzeOnceDedup(t *testing.T) { mu.Lock() calls++ mu.Unlock() + time.Sleep(50 * time.Millisecond) return true, "dedup" } var wg sync.WaitGroup