Run goroutine to check each submission
This commit is contained in:
parent
42ed5c11ec
commit
a9f35d224b
2 changed files with 20 additions and 12 deletions
|
|
@ -2,26 +2,32 @@ package main
|
|||
|
||||
import (
|
||||
"bufio"
|
||||
"encoding/base64"
|
||||
"encoding/binary"
|
||||
"log"
|
||||
"math/rand"
|
||||
"os"
|
||||
"strconv"
|
||||
|
||||
"srs.epita.fr/fic-server/libfic"
|
||||
)
|
||||
|
||||
func treatSubmission(pathname string, team_id string, exercice_id string) error {
|
||||
log.Println("Treating", pathname)
|
||||
func treatSubmission(pathname string, team_id string, exercice_id string) {
|
||||
bid := make([]byte, 5)
|
||||
binary.LittleEndian.PutUint32(bid, rand.Uint32())
|
||||
id := "[" + base64.StdEncoding.EncodeToString(bid) + "]"
|
||||
log.Println(id, "New submission receive", pathname)
|
||||
|
||||
if tid, err := strconv.Atoi(team_id); err != nil {
|
||||
return err
|
||||
log.Println(id, "[ERR]", err)
|
||||
} else if eid, err := strconv.Atoi(exercice_id); err != nil {
|
||||
return err
|
||||
log.Println(id, "[ERR]", err)
|
||||
} else if team, err := fic.GetTeam(tid); err != nil {
|
||||
return err
|
||||
log.Println(id, "[ERR]", err)
|
||||
} else if exercice, err := fic.GetExercice(eid); err != nil {
|
||||
return err
|
||||
log.Println(id, "[ERR]", err)
|
||||
} else if file, err := os.Open(pathname); err != nil {
|
||||
return err
|
||||
log.Println(id, "[ERR]", err)
|
||||
} else {
|
||||
defer file.Close()
|
||||
|
||||
|
|
@ -30,8 +36,8 @@ func treatSubmission(pathname string, team_id string, exercice_id string) error
|
|||
for scanner.Scan() {
|
||||
cnt += scanner.Text()
|
||||
}
|
||||
log.Println(team, exercice, cnt)
|
||||
|
||||
return nil
|
||||
|
||||
log.Println(id, team, exercice, cnt)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Reference in a new issue