From fa33fac0032c08e21b045668de8320d2c913c578 Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Thu, 31 Oct 2019 15:35:10 +0100 Subject: [PATCH] frontend: add a timestamp file for time checking on backend --- frontend/main.go | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) 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())