generator: Can perform synchronous generation
This commit is contained in:
parent
ec98e521dc
commit
1769938205
13 changed files with 214 additions and 81 deletions
|
@ -29,7 +29,7 @@ func reloadSettings(config *settings.Settings) {
|
|||
fic.WChoiceCoefficient = config.WChoiceCurCoefficient
|
||||
fic.ExerciceCurrentCoefficient = config.ExerciceCurCoefficient
|
||||
ChStarted = config.Start.Unix() > 0 && time.Since(config.Start) >= 0
|
||||
if lastRegeneration != config.Generation || fic.PartialValidation != config.PartialValidation || fic.UnlockedChallengeDepth != config.UnlockedChallengeDepth || fic.UnlockedChallengeUpTo != config.UnlockedChallengeUpTo || fic.DisplayAllFlags != config.DisplayAllFlags || fic.FirstBlood != config.FirstBlood || fic.SubmissionCostBase != config.SubmissionCostBase || fic.SubmissionUniqueness != config.SubmissionUniqueness || fic.DiscountedFactor != config.DiscountedFactor {
|
||||
if fic.PartialValidation != config.PartialValidation || fic.UnlockedChallengeDepth != config.UnlockedChallengeDepth || fic.UnlockedChallengeUpTo != config.UnlockedChallengeUpTo || fic.DisplayAllFlags != config.DisplayAllFlags || fic.FirstBlood != config.FirstBlood || fic.SubmissionCostBase != config.SubmissionCostBase || fic.SubmissionUniqueness != config.SubmissionUniqueness || fic.DiscountedFactor != config.DiscountedFactor {
|
||||
fic.PartialValidation = config.PartialValidation
|
||||
fic.UnlockedChallengeDepth = config.UnlockedChallengeDepth
|
||||
fic.UnlockedChallengeUpTo = config.UnlockedChallengeUpTo
|
||||
|
@ -45,14 +45,17 @@ func reloadSettings(config *settings.Settings) {
|
|||
if !skipInitialGeneration {
|
||||
log.Println("Generating files...")
|
||||
go func() {
|
||||
genAll()
|
||||
waitList := genAll()
|
||||
for _, e := range waitList {
|
||||
<-e
|
||||
}
|
||||
log.Println("Full generation done")
|
||||
}()
|
||||
lastRegeneration = time.Now()
|
||||
} else {
|
||||
skipInitialGeneration = false
|
||||
log.Println("Regeneration skipped by option.")
|
||||
}
|
||||
lastRegeneration = config.Generation
|
||||
} else {
|
||||
log.Println("No change found. Skipping regeneration.")
|
||||
}
|
||||
|
@ -105,6 +108,8 @@ func main() {
|
|||
}
|
||||
|
||||
http.HandleFunc("/enqueue", enqueueHandler)
|
||||
http.HandleFunc("/perform", performHandler)
|
||||
http.HandleFunc("/full", performFullResyncHandler)
|
||||
|
||||
// Serve pages
|
||||
go func() {
|
||||
|
|
Reference in a new issue