This repository has been archived on 2022-09-04. You can view files and clone it, but cannot push or open issues or pull requests.
dataupdater/internal/cron/tasks/task_vacuum.go
2021-05-03 16:33:12 +02:00

42 lines
843 B
Go

package tasks
import (
"context"
"github.com/pkg/errors"
"github.com/tribalwarshelp/shared/tw/twmodel"
"github.com/tribalwarshelp/cron/internal/cron/queue"
)
type taskVacuum struct {
*task
}
func (t *taskVacuum) execute() error {
var servers []*twmodel.Server
err := t.db.
Model(&servers).
Select()
if err != nil {
err = errors.Wrap(err, "taskVacuum.execute")
log.Errorln(err)
return err
}
log.Infof("taskVacuum.execute: Start database vacumming...")
for _, server := range servers {
s := server
err := t.queue.Add(queue.MainQueue, Get(TaskNameVacuumServerDB).WithArgs(context.Background(), s))
if err != nil {
log.Warn(
errors.Wrapf(
err,
"taskVacuum.execute: %s: Couldn't add the task '%s' for this server",
server.Key,
TaskUpdateServerEnnoblements,
),
)
}
}
return nil
}