add a new task - taskDeleteNonExistentVillages

This commit is contained in:
Dawid Wysokiński 2021-05-01 07:43:34 +02:00
parent cb6e110e39
commit 97e638697c
6 changed files with 74 additions and 20 deletions

View File

@ -0,0 +1,45 @@
package tasks
import (
"context"
"github.com/pkg/errors"
"github.com/tribalwarshelp/shared/models"
"github.com/tribalwarshelp/cron/internal/cron/queue"
)
type taskDeleteNonExistentVillages struct {
*task
}
func (t *taskDeleteNonExistentVillages) execute() error {
var servers []*models.Server
err := t.db.
Model(&servers).
Where("status = ?", models.ServerStatusOpen).
Relation("Version").
Select()
if err != nil {
err = errors.Wrap(err, "taskDeleteNonExistentVillages.execute")
log.Errorln(err)
return err
}
log.
WithField("numberOfServers", len(servers)).
Info("taskDeleteNonExistentVillages.execute: Servers have been loaded and added to the queue")
for _, server := range servers {
s := server
err := t.queue.Add(queue.MainQueue, Get(TaskNameServerDeleteNonExistentVillages).WithArgs(context.Background(), s))
if err != nil {
log.Warn(
errors.Wrapf(
err,
"taskDeleteNonExistentVillages.execute: %s: Couldn't add the task '%s' for this server",
server.Key,
TaskNameServerDeleteNonExistentVillages,
),
)
}
}
return nil
}

View File

@ -45,15 +45,16 @@ func (t *taskUpdateHistory) execute(timezone string) error {
for _, server := range servers {
s := server
err := t.queue.Add(queue.MainQueue, Get(TaskUpdateServerHistory).WithArgs(context.Background(), timezone, s))
log.Warn(
errors.Wrapf(
err,
"taskUpdateHistory.execute: %s: Couldn't add the task '%s' for this server",
server.Key,
TaskUpdateServerHistory,
),
)
if err != nil {
log.Warn(
errors.Wrapf(
err,
"taskUpdateHistory.execute: %s: Couldn't add the task '%s' for this server",
server.Key,
TaskUpdateServerHistory,
),
)
}
}
return nil
}

View File

@ -27,7 +27,7 @@ func (t *taskUpdateServerEnnoblements) execute(url string, server *models.Server
entry.Error(err)
return err
}
entry.Debugf("%s: ennoblements has been updated", server.Key)
entry.Debugf("%s: ennoblements have been updated", server.Key)
return nil
}

View File

@ -127,7 +127,7 @@ func (w *workerUpdateServerStats) update() error {
}(w.server)
if _, err := tx.Model(stats).Insert(); err != nil {
return errors.Wrap(err, "cannot insert server stats")
return errors.Wrap(err, "couldn't insert server stats")
}
_, err = tx.Model(w.server).
@ -136,7 +136,7 @@ func (w *workerUpdateServerStats) update() error {
Returning("*").
Update()
if err != nil {
return errors.Wrap(err, "cannot update server")
return errors.Wrap(err, "couldn't update the server")
}
return tx.Commit()

View File

@ -45,14 +45,16 @@ func (t *taskUpdateStats) execute(timezone string) error {
for _, server := range servers {
s := server
err := t.queue.Add(queue.MainQueue, Get(TaskUpdateServerStats).WithArgs(context.Background(), timezone, s))
log.Warn(
errors.Wrapf(
err,
"taskUpdateStats.execute: %s: Couldn't add the task '%s' for this server",
server.Key,
TaskUpdateServerStats,
),
)
if err != nil {
log.Warn(
errors.Wrapf(
err,
"taskUpdateStats.execute: %s: Couldn't add the task '%s' for this server",
server.Key,
TaskUpdateServerStats,
),
)
}
}
return nil
}

View File

@ -21,6 +21,8 @@ const (
TaskUpdateServerHistory = "updateServerHistory"
TaskUpdateStats = "updateStats"
TaskUpdateServerStats = "updateServerStats"
TaskNameDeleteNonExistentVillages = "deleteNonExistentVillages"
TaskNameServerDeleteNonExistentVillages = "serverDeleteNonExistentVillages"
defaultRetryLimit = 3
)
@ -86,6 +88,10 @@ func RegisterTasks(cfg *Config) error {
Name: TaskUpdateServerStats,
Handler: (&taskUpdateServerStats{t}).execute,
},
{
Name: TaskNameDeleteNonExistentVillages,
Handler: (&taskDeleteNonExistentVillages{t}).execute,
},
}
for _, taskOptions := range options {
opts := taskOptions