backend: new option --skipInitialGeneration to skip the full static files regeneration on start
This commit is contained in:
parent
8c87451d80
commit
ab67146c0f
1 changed files with 13 additions and 7 deletions
|
@ -44,11 +44,10 @@ func watchsubdir(watcher *fsnotify.Watcher, pathname string) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
var lastRegeneration time.Time
|
var lastRegeneration time.Time
|
||||||
|
var skipInitialGeneration = false
|
||||||
|
|
||||||
func reloadSettings(config settings.FICSettings) {
|
func reloadSettings(config settings.FICSettings) {
|
||||||
if lastRegeneration != config.Generation || fic.PartialValidation != config.PartialValidation || fic.UnlockedChallenges != !config.EnableExerciceDepend || fic.FirstBlood != config.FirstBlood || fic.SubmissionCostBase != config.SubmissionCostBase {
|
if lastRegeneration != config.Generation || fic.PartialValidation != config.PartialValidation || fic.UnlockedChallenges != !config.EnableExerciceDepend || fic.FirstBlood != config.FirstBlood || fic.SubmissionCostBase != config.SubmissionCostBase {
|
||||||
lastRegeneration = config.Generation
|
|
||||||
|
|
||||||
fic.PartialValidation = config.PartialValidation
|
fic.PartialValidation = config.PartialValidation
|
||||||
fic.UnlockedChallenges = !config.EnableExerciceDepend
|
fic.UnlockedChallenges = !config.EnableExerciceDepend
|
||||||
|
|
||||||
|
@ -56,11 +55,17 @@ func reloadSettings(config settings.FICSettings) {
|
||||||
fic.SubmissionCostBase = config.SubmissionCostBase
|
fic.SubmissionCostBase = config.SubmissionCostBase
|
||||||
fic.SubmissionUniqueness = config.SubmissionUniqueness
|
fic.SubmissionUniqueness = config.SubmissionUniqueness
|
||||||
|
|
||||||
|
if !skipInitialGeneration {
|
||||||
log.Println("Generating files...")
|
log.Println("Generating files...")
|
||||||
go func() {
|
go func() {
|
||||||
genAll()
|
genAll()
|
||||||
log.Println("Full generation done")
|
log.Println("Full generation done")
|
||||||
}()
|
}()
|
||||||
|
} else {
|
||||||
|
skipInitialGeneration = false
|
||||||
|
log.Println("Regeneration skipped by option.")
|
||||||
|
}
|
||||||
|
lastRegeneration = config.Generation
|
||||||
} else {
|
} else {
|
||||||
log.Println("No change found. Skipping regeneration.")
|
log.Println("No change found. Skipping regeneration.")
|
||||||
}
|
}
|
||||||
|
@ -73,6 +78,7 @@ func main() {
|
||||||
flag.StringVar(&TeamsDir, "teams", "./TEAMS", "Base directory where save teams JSON files")
|
flag.StringVar(&TeamsDir, "teams", "./TEAMS", "Base directory where save teams JSON files")
|
||||||
flag.StringVar(&fic.FilesDir, "files", "/files", "Request path prefix to reach files")
|
flag.StringVar(&fic.FilesDir, "files", "/files", "Request path prefix to reach files")
|
||||||
var debugINotify = flag.Bool("debuginotify", false, "Show skipped inotofy events")
|
var debugINotify = flag.Bool("debuginotify", false, "Show skipped inotofy events")
|
||||||
|
flag.BoolVar(&skipInitialGeneration, "skipfullgeneration", skipInitialGeneration, "Skip the initial regeneration")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
log.SetPrefix("[backend] ")
|
log.SetPrefix("[backend] ")
|
||||||
|
|
Reference in a new issue