我有一个循环,直到工作启动并运行:
ticker := time.NewTicker(time.Second * 2)
defer ticker.Stop()
started := time.Now()
for now := range ticker.C {
job, err := client.Job(jobID)
switch err.(type) {
case DoesNotExistError:
continue
case InternalError:
return err
}
if job.State == "running" {
break
}
if now.Sub(started) > time.Minute*2 {
return fmt.Errorf("timed out waiting for job")
}
}
在生产中效果很好。唯一的问题是它使我的测试变慢。他们都至少等待 2 秒钟才能完成。有没有time.Tick办法立即打勾?
UYOU
千万里不及你
慕村225694
相关分类