autobrr/internal/feed/cleanup.go
ze0s 6fd8626507
feat(feeds): add scheduled cleanup (#1073)
* refactor(feeds): make feed scheduling more robust

* feat(feeds): add daily cleanup job

* removes feed cache older than 30 days

* fix(feeds): fmt wrong type
2023-09-02 22:44:28 +02:00

35 lines
750 B
Go

// Copyright (c) 2021 - 2023, Ludvig Lundgren and the autobrr contributors.
// SPDX-License-Identifier: GPL-2.0-or-later
package feed
import (
"context"
"time"
"github.com/autobrr/autobrr/internal/domain"
"github.com/rs/zerolog"
)
type CleanupJob struct {
log zerolog.Logger
cacheRepo domain.FeedCacheRepo
CronSchedule time.Duration
}
func NewCleanupJob(log zerolog.Logger, cacheRepo domain.FeedCacheRepo) *CleanupJob {
return &CleanupJob{
log: log,
cacheRepo: cacheRepo,
}
}
func (j *CleanupJob) Run() {
if err := j.cacheRepo.DeleteStale(context.Background()); err != nil {
j.log.Error().Err(err).Msg("error when running feed cache cleanup job")
}
j.log.Info().Msg("successfully ran feed-cache-cleanup job")
}