in lib/store/cleanup.go [89:124]
func (m *cleanupManager) addJob(tag string, config CleanupConfig, op base.FileOp) {
config = config.applyDefaults()
if config.Disabled {
log.Warnf("Cleanup disabled for %s", op)
return
}
if config.TTL == 0 {
log.Warnf("TTL disabled for %s", op)
}
if config.AggressiveThreshold == 0 {
log.Warnf("Aggressive cleanup disabled for %s", op)
}
ticker := m.clk.Ticker(config.Interval)
usageGauge := m.stats.Tagged(map[string]string{"job": tag}).Gauge("disk_usage")
go func() {
for {
select {
case <-ticker.C:
log.Debugf("Performing cleanup of %s", op)
ttl := m.checkAggressiveCleanup(op, config, diskspaceutil.DiskSpaceUtil)
usage, err := m.scan(op, config.TTI, ttl)
if err != nil {
log.Errorf("Error scanning %s: %s", op, err)
}
usageGauge.Update(float64(usage))
case <-m.stopc:
ticker.Stop()
return
}
}
}()
}