func()

in internal/file_cleaner/file_cleaner.go [44:62]


func (c *FileCleaner) StartCleanInterval(ctx context.Context, interval time.Duration) error {
	slog.Info("starting file cleaner", "interval", interval.Seconds())

	ticker := time.NewTicker(interval)

	for {
		select {
		case <-ctx.Done():
			ticker.Stop()
			return ctx.Err()
		case <-ticker.C:
			slog.Debug("start Clean()")
			if err := c.Clean(ctx); err != nil {
				slog.Error("error while cleaning", "err", err)
			}
			slog.Debug("done Clean()")
		}
	}
}