// StartOnce starts pod volume calc that will occur periodically in the background until s.StopOnce is called func (s *volumeStatCalculator) StartOnce() *volumeStatCalculator { s.startO.Do(func() { go wait.JitterUntil(func() { s.calcAndStoreStats() }, s.jitterPeriod, 1.0, true, s.stopChannel) }) return s }
// acquire loops calling tryAcquireOrRenew and returns immediately when tryAcquireOrRenew succeeds. func (le *LeaderElector) acquire() { stop := make(chan struct{}) wait.JitterUntil(func() { succeeded := le.tryAcquireOrRenew() le.maybeReportTransition() if !succeeded { glog.V(4).Infof("failed to renew lease %v/%v", le.config.EndpointsMeta.Namespace, le.config.EndpointsMeta.Name) return } le.config.EventRecorder.Eventf(&api.Endpoints{ObjectMeta: le.config.EndpointsMeta}, api.EventTypeNormal, "%v became leader", le.config.Identity) glog.Infof("sucessfully acquired lease %v/%v", le.config.EndpointsMeta.Namespace, le.config.EndpointsMeta.Name) close(stop) }, le.config.RetryPeriod, JitterFactor, true, stop) }
// acquire loops calling tryAcquireOrRenew and returns immediately when tryAcquireOrRenew succeeds. func (le *LeaderElector) acquire() { stop := make(chan struct{}) wait.JitterUntil(func() { succeeded := le.tryAcquireOrRenew() le.maybeReportTransition() desc := le.config.Lock.Describe() if !succeeded { glog.V(4).Infof("failed to renew lease %v", desc) return } le.config.Lock.RecordEvent("became leader") glog.Infof("sucessfully acquired lease %v", desc) close(stop) }, le.config.RetryPeriod, JitterFactor, true, stop) }