cg33 6 rokov pred
rodič
commit
2f0fee507a
1 zmenil súbory, kde vykonal 29 pridanie a 2 odobranie
  1. 29 2
      main.go

+ 29 - 2
main.go

@@ -1,6 +1,14 @@
 package main
 
 import (
+	"context"
+	"io/ioutil"
+	"log"
+	"net/http"
+	"os"
+	"os/signal"
+	"time"
+
 	_ "github.com/GoAdminGroup/go-admin/adapter/gin"               // web framework adapter
 	_ "github.com/GoAdminGroup/go-admin/modules/db/drivers/sqlite" // sql driver
 	_ "github.com/GoAdminGroup/themes/adminlte"                    // ui theme
@@ -12,7 +20,6 @@ import (
 	"github.com/GoAdminGroup/go-admin/template"
 	"github.com/GoAdminGroup/go-admin/template/chartjs"
 	"github.com/gin-gonic/gin"
-	"io/ioutil"
 )
 
 func main() {
@@ -63,5 +70,25 @@ func main() {
 		"msg": "Hello world",
 	})
 
-	_ = r.Run(":9033")
+	srv := &http.Server{
+		Addr:    ":9033",
+		Handler: r,
+	}
+
+	go func() {
+		if err := srv.ListenAndServe(); err != nil {
+			log.Printf("listen: %s\n", err)
+		}
+	}()
+
+	quit := make(chan os.Signal)
+	signal.Notify(quit, os.Interrupt)
+	<-quit
+
+	ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
+	defer cancel()
+	if err := srv.Shutdown(ctx); err != nil {
+		log.Fatal("Server Shutdown:", err)
+	}
+	log.Println("Server exiting")
 }