code: func (p *BulkProcessor) flusher(interval time.Duration) {
  	ticker := time.NewTicker(interval)
  	defer ticker.Stop()
  
  	for {
  		select {
  		case <-ticker.C: // Periodic flush
  			p.Flush() // TODO swallow errors here?
  
  		case <-p.flusherStopC:
  			p.flusherStopC <- struct{}{}
  			return
  		}
  	}
  }
docs: // flusher is a single goroutine that periodically asks all workers to
  // commit their outstanding bulk requests. It is only started if
  // FlushInterval is greater than 0.