39 lines
1.0 KiB
Go
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
|
|
}
|