INNER CODE UNIT · Go
func
lucagrulla/cw · coordinator.go:16
func (f *tailCoordinator) start(targets []chan<- time.Time) {
f.targets = ring.New(len(targets))
for i := 0; i < f.targets.Len(); i++ {
f.targets.Value = targets[i]
f.targets = f.targets.Next()
}
//AWS API accepts 5 reqs/sec for account
ticker := time.NewTicker(250 * time.Millisecond)
go func() {
for range ticker.C {
if f.targets == nil {
f.log.Println("coordinator: ring buffer is empty, exiting scheduler.")
return
}
f.Lock()
x := f.targets.Value.(chan<- time.Time)
x <- time.Now()