backend: multithread generation

This commit is contained in:
nemunaire 2019-07-11 19:52:13 +02:00
commit 2b75287d16
7 changed files with 115 additions and 71 deletions

View file

@ -109,7 +109,7 @@ func treatSubmission(pathname string, team fic.Team, exercice_id string) {
solved, err := exercice.CheckResponse(cksum[:], responses.Keys, responses.MCQs, team)
if err != nil {
log.Println(id, "[ERR] Unable to CheckResponse:", err)
genTeamMyFile(team)
genTeamQueue <- &team
return
}
@ -130,7 +130,9 @@ func treatSubmission(pathname string, team fic.Team, exercice_id string) {
} else if _, err := fic.NewEvent(fmt.Sprintf("L'équipe %s a résolu le <strong>%d<sup>e</sup></strong> défi %s&#160;!", team.Name, lvl, theme.Name), "success"); err != nil {
log.Println(id, "[WRN] Unable to create event:", err)
}
genTeamAll(team)
genTeamQueue <- &team
appendGenQueue(genStruct{id, GenThemes})
appendGenQueue(genStruct{id, GenTeams})
} else {
log.Printf("%s Team %d submit an invalid solution for exercice %d (%s : %s)\n", id, team.Id, exercice.Id, theme.Name, exercice.Title)
@ -142,10 +144,8 @@ func treatSubmission(pathname string, team fic.Team, exercice_id string) {
log.Println(id, "[WRN] Unable to create event:", err)
}
}
genTeamMyFile(team)
genTeamQueue <- &team
}
if err := genEventsFile(); err != nil {
log.Println("events.json generation error: ", err)
}
appendGenQueue(genStruct{id, GenEvents})
}