将 River 执行容量按平台模型与用户组的有效并发策略动态调整,并为长任务续租、并发租约原子抢占和限流退避补充保护。\n\n统一平台模型限流继承语义,兼容历史 platformLimits/modelLimits,并为三个迁移图像模型建立独立并发租约。补充管理端显式继承/覆盖配置、指标、单元测试及隔离 PostgreSQL 验收。\n\n验证:go test ./... -count=1;pnpm lint;pnpm test;pnpm build;隔离 PostgreSQL 并发原子性/续租测试;128 任务与三分钟长任务动态 Worker 验收。
20 lines
570 B
Go
20 lines
570 B
Go
package store
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
func TestConcurrencyRetryAfterBoundsPolling(t *testing.T) {
|
|
if got := concurrencyRetryAfter(time.Time{}); got != 5*time.Second {
|
|
t.Fatalf("zero expiry retry=%s, want=5s", got)
|
|
}
|
|
if got := concurrencyRetryAfter(time.Now().Add(30 * time.Second)); got != 5*time.Second {
|
|
t.Fatalf("distant expiry retry=%s, want=5s", got)
|
|
}
|
|
got := concurrencyRetryAfter(time.Now().Add(2500 * time.Millisecond))
|
|
if got < 2*time.Second || got > 2500*time.Millisecond {
|
|
t.Fatalf("near expiry retry=%s, want within [2s,2.5s]", got)
|
|
}
|
|
}
|