diff --git a/frontend/main.go b/frontend/main.go index c82798ba..332d5dac 100644 --- a/frontend/main.go +++ b/frontend/main.go @@ -11,6 +11,7 @@ import ( "path" "strings" "syscall" + "time" "srs.epita.fr/fic-server/settings" ) @@ -35,7 +36,7 @@ func main() { log.Println("Creating submission directory...") if _, err := os.Stat(TmpSubmissionDir); os.IsNotExist(err) { if err = os.MkdirAll(TmpSubmissionDir, 0700); err != nil { - log.Fatal("Unable to create submission directory: ", err) + log.Fatal("Unable to create submission directory:", err) } } @@ -95,8 +96,21 @@ func main() { }() log.Println(fmt.Sprintf("Ready, listening on %s", *bind)) - // Wait shutdown signal - <-interrupt + // Wait shutdown signal and touch timestamp + ticker := time.NewTicker(time.Second) + defer ticker.Stop() + +loop: + for { + select { + case <-interrupt: + break loop + case <-ticker.C: + now := time.Now() + os.Chtimes(SubmissionDir, now, now) + } + } + log.Print("The service is shutting down...") srv.Shutdown(context.Background())