code: func (h *Holder) monitorCacheFlush() {
  	ticker := time.NewTicker(h.cacheFlushInterval)
  	defer ticker.Stop()
  
  	for {
  		select {
  		case <-h.closing:
  			return
  		case <-ticker.C:
  			h.flushCaches()
  		}
  	}
  }
docs: // monitorCacheFlush periodically flushes all fragment caches sequentially.
  // This is run in a goroutine.