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/queue/task_load_versions_and_upda...

39 lines
1.0 KiB
Go

package queue
import (
"context"
"github.com/pkg/errors"
"github.com/tribalwarshelp/shared/tw/twmodel"
)
type taskLoadVersionsAndUpdateServerData struct {
*task
}
func (t *taskLoadVersionsAndUpdateServerData) execute() error {
var versions []*twmodel.Version
log.Debug("taskLoadVersionsAndUpdateServerData.execute: Loading versions...")
if err := t.db.Model(&versions).Relation("SpecialServers").Select(); err != nil {
err = errors.Wrap(err, "taskLoadVersionsAndUpdateServerData.execute: Couldn't load versions")
log.Fatal(err)
return err
}
log.Debug("taskLoadVersionsAndUpdateServerData.execute: Versions have been loaded")
for _, version := range versions {
err := t.queue.Add(GetTask(LoadServersAndUpdateData).WithArgs(context.Background(), version))
if err != nil {
log.
WithField("code", version.Code).
Warn(
errors.Wrapf(
err,
"taskLoadVersionsAndUpdateServerData.execute: %s: Couldn't add the task '%s' for this version",
version.Code,
LoadServersAndUpdateData,
),
)
}
}
return nil
}