1 Star 0 Fork 0

kzangv/gsf-fof

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
resize.go 851 Bytes
一键复制 编辑 原始数据 按行查看 历史
kzangv 提交于 2024-08-28 14:46 +08:00 . fixed
package cron
const (
ResizeOverTime = 3
)
type CommonResize struct {
overTime,
CheckTime uint8
TickerQueueIdleLimit int
}
func (r *CommonResize) Check(c, l int) bool {
ret, fSize := false, c-l
limit, cSize := r.TickerQueueIdleLimit, 100
if fSize > limit {
limit = limit / 3
if limit < cSize {
limit = cSize
}
if limit < fSize {
ret = true
}
}
if ret {
r.overTime, ret = r.overTime+1, false
if r.overTime > ResizeOverTime {
ret, r.overTime = true, 0
}
} else if r.overTime > 0 {
r.overTime = 0
}
return ret
}
func (r *CommonResize) NewCap(l int) int {
cl := r.TickerQueueIdleLimit
cl = cl / 5
if cl < 10 {
cl = 10
} else if cl > 200 {
cl = 200
}
return l + cl
}
func NewCommonResize(gap uint8) *CommonResize {
return &CommonResize{
TickerQueueIdleLimit: 1000,
CheckTime: gap,
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/kzangv/gsf-fof.git
git@gitee.com:kzangv/gsf-fof.git
kzangv
gsf-fof
gsf-fof
v0.5.3

搜索帮助