给出了以下两个功能。
func main() {
index := int(0)
for {
Loop(index)
index = (index + 1) % 86400 // Max interval: 1 day
time.Sleep(1 * time.Second)
}
}
func Loop(index int) {
if index%10 == 0 {
go doSomething...
}
}
我想每 10/60/3600 秒执行一次。所以我认为带模数的递增索引应该这样做。
但我注意到(尤其是在高流量服务器上)它似乎跳过了一些循环。
我查看了我的日志,有时每 10 秒就有一次,但有时会有长达 1 分钟的间隔。
有人知道为什么会这样吗?
SMILET
相关分类