在使用 stableRatelimiter 时,有时候会出现panic
boboalex opened this issue · comments
Bo Zhang commented
Bo Zhang commented
在实际使用时,我这边会直接实例化一个 boomer,例如叫 testingBoomer:
testingBoomer := boomer.NewBoomer(host, port)
然后使用
rateLimiter := testingBoomer.NewStableRateLimiter(targetRps, time.Second)
以及:
testingBoomer.SetRateLimiter(rateLimiter)
最后启动 boomer:
testingBoomer.Run(caseList...)
myzhan commented
谢谢,我这边复现了,我看看原因。
myzhan commented
Here is a testcase to reproduct this issue.
func TestStableRateLimiterStartAndStopManyTimes(t *testing.T) {
ratelimiter := NewStableRateLimiter(100, 5*time.Millisecond)
for i := 0; i < 1000; i++ {
ratelimiter.Start()
time.Sleep(5 * time.Millisecond)
ratelimiter.Stop()
}
}
myzhan commented
修复了,可以更新一下试试。
Bo Zhang commented
修复了,可以更新一下试试。
感谢哈~