mirror of
https://github.com/grafana/grafana.git
synced 2025-02-20 11:48:34 -06:00
39 lines
798 B
Go
39 lines
798 B
Go
package backgroundtasks
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"os"
|
|
"path"
|
|
|
|
"github.com/grafana/grafana/pkg/bus"
|
|
"github.com/grafana/grafana/pkg/models"
|
|
"github.com/grafana/grafana/pkg/setting"
|
|
)
|
|
|
|
func init() {
|
|
bus.AddEventListener(CleanTmpFiles)
|
|
}
|
|
|
|
func CleanTmpFiles(cmd *models.HourCommand) error {
|
|
files, err := ioutil.ReadDir(setting.ImagesDir)
|
|
|
|
var toDelete []os.FileInfo
|
|
for _, file := range files {
|
|
if file.ModTime().AddDate(0, 0, setting.RenderedImageTTLDays).Before(cmd.Time) {
|
|
toDelete = append(toDelete, file)
|
|
}
|
|
}
|
|
|
|
for _, file := range toDelete {
|
|
fullPath := path.Join(setting.ImagesDir, file.Name())
|
|
err := os.Remove(fullPath)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
tlog.Debug("Found old rendered image to delete", "deleted", len(toDelete), "keept", len(files))
|
|
|
|
return err
|
|
}
|