k8s经常忘记reflect处理watch事件过程
contoler结构有个queue,这个queue是用来控制的,是将读取队列pop,执行process函数的,而controler的成员reflector使用来缓存资源的,他会出发listerandwatche过1s通过lister函数监控一次所有关心的对象(wait.Until会一直执行,等到入参函数执行完成后,peroid时间后再次触发执行,这样不停地一直运行),然后阻塞等待,等待watche
·
contoler结构有个queue,这个queue是用来控制的,是将读取队列pop,执行process函数的,而controler的成员reflector使用来缓存资源的,他会出发listerandwatche过1s通过lister函数监控一次所有关心的对象(wait.Until会一直执行,等到入参函数执行完成后,peroid时间后再次触发执行,这样不停地一直运行),然后阻塞等待,等待watcher 有事件发生,进行处理,然后1s中后再次执行listerandwatche。
// Until loops until stop channel is closed, running f every period. // Until is syntactic sugar on top of JitterUntil with zero jitter // factor, with sliding = true (which means the timer for period // starts after the f completes). func Until(f func(), period time.Duration, stopCh <-chan struct{}) { JitterUntil(f, period, 0.0, true, stopCh) }
更多推荐
已为社区贡献16条内容
所有评论(0)