Skip to content

Commit

Permalink
Push for 1.6.3
Browse files Browse the repository at this point in the history
  • Loading branch information
DavidArthurCole committed Aug 10, 2024
1 parent 3f4f0e5 commit b61fdc5
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 14 deletions.
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.6.2
1.6.3
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ go 1.22.1

require (
github.com/andybrewer/mack v0.0.0-20220307193339-22e922cc18af
github.com/davidarthurcole/lorca v0.2.1
github.com/davidarthurcole/lorca v0.2.3
github.com/dustin/go-humanize v1.0.1
github.com/golang-migrate/migrate/v4 v4.17.0
github.com/hashicorp/go-version v1.6.0
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ github.com/andybrewer/mack v0.0.0-20220307193339-22e922cc18af/go.mod h1:oUO968BJ
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davidarthurcole/lorca v0.2.1 h1:p2OTnBHmXDsTEB39qHIa6BbOvM0UP3eG8W5z0/BBGDY=
github.com/davidarthurcole/lorca v0.2.1/go.mod h1:67DqHxxyx5f3ku+SWr51vzVne2+g/5lb1S6tgDqA6XU=
github.com/davidarthurcole/lorca v0.2.3 h1:ViMqYDKWkRh/jDrVrkD4s5m/VfdQXa6bJpSnZ73tgpI=
github.com/davidarthurcole/lorca v0.2.3/go.mod h1:67DqHxxyx5f3ku+SWr51vzVne2+g/5lb1S6tgDqA6XU=
github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
github.com/golang-migrate/migrate/v4 v4.17.0 h1:rd40H3QXU0AA4IoLllFcEAEo9dYKRHYND2gB4p7xcaU=
Expand Down
36 changes: 26 additions & 10 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -753,8 +753,10 @@ func main() {
len(missions), len(inProgressMissions), len(newMissionIds)))

total := len(newMissionIds)
finished := 0
if total > 0 {
updateState(AppState_FETCHING_MISSIONS)

reportProgress := func(finished int) {
updateMissionProgress(MissionProgress{
Total: total,
Expand All @@ -763,19 +765,26 @@ func main() {
ExpectedFinishTimestamp: timeToUnix(time.Now().Add(time.Duration(total-finished) * _requestInterval)),
})
}
reportProgress(0)

reportProgress(finished)

finishedCh := make(chan struct{}, total)
go func() {
finished := 0
for range finishedCh {
finished++
reportProgress(finished)
}
}()

errored := 0
var wg sync.WaitGroup
failedMissions := []string{}
type FailedMission struct {
missionId string
startTimestamp float64
}
failedMissions := []FailedMission{}
tryFailedAgain := _storage.GetRetryFailedMissions()

MissionsLoop:
for i := 0; i < total; i++ {
if i != 0 {
Expand All @@ -793,39 +802,46 @@ func main() {
perror(err)
errored++
if tryFailedAgain {
failedMissions = append(failedMissions, missionId)
failedMissions = append(failedMissions, FailedMission{missionId, startTimestamp})
}
}
finishedCh <- struct{}{}
}(newMissionIds[i], newMissionStartTimestamps[i])
}
wg.Wait()
close(finishedCh)

if checkInterrupt() {
return
}

if errored > 0 {
perror(fmt.Sprintf("%d of %d missions failed to fetch", errored, total))

if tryFailedAgain {
errored = 0
pinfo("retrying failed missions")
for _, missionId := range failedMissions {

// Update the total to include the number of failed missions
total += len(failedMissions)

for _, failedMission := range failedMissions {
wg.Add(1)
go func(missionId string) {
go func(missionId string, startTimestamp float64) {
defer wg.Done()
_, err := fetchCompleteMissionWithContext(w.ctx, playerId, missionId, 0) // Adjust startTimestamp if needed
_, err := fetchCompleteMissionWithContext(w.ctx, playerId, missionId, startTimestamp)
if err != nil {
perror(err)
errored++
}
finishedCh <- struct{}{}
}(missionId)
}(failedMission.missionId, failedMission.startTimestamp)
}
wg.Wait()
close(finishedCh)

if checkInterrupt() {
return
}

if errored > 0 {
perror(fmt.Sprintf("%d of %d mission retry fetches failed", errored, len(failedMissions)))
updateState(AppState_FAILED)
Expand Down

0 comments on commit b61fdc5

Please sign in to comment.