业务代码中,我们怎么让一段程序,在某个时间段内执行,然后优雅退出?
本文给出一种办法:使用wait.poll
package main
import (
"fmt"
"time"
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/klog"
)
func main() {
for {
a := wait.Poll(time.Second, time.Second*5, func() (done bool, err error) {
fmt.Println(time.Now())
return false, nil
})
if a != nil {
klog.Error(a)
break
}
}
}
我们的整个程序包含在for循环中,5s之后超时,a不为空,则退出程序

本文介绍了一种在业务代码中利用wait.Poll函数,实现程序在指定时间段内运行并优雅退出的方法。通过一个具体示例,展示了如何设置程序在5秒后超时并检查条件退出,适用于需要定时任务或限制执行时间的场景。
880

被折叠的 条评论
为什么被折叠?



