From 88a80e58ba6ca5c4230b7eeac6637c1b076e3167 Mon Sep 17 00:00:00 2001 From: Joeky Date: Tue, 14 May 2024 20:53:57 +0800 Subject: [PATCH] Update deps and remove *nix, windows files Signed-off-by: Joeky --- go.mod | 8 ++++---- go.sum | 28 ++++++++-------------------- main.go | 18 ++++++++++++++++++ wait_unix.go | 28 ---------------------------- wait_windows.go | 31 ------------------------------- 5 files changed, 30 insertions(+), 83 deletions(-) delete mode 100644 wait_unix.go delete mode 100644 wait_windows.go diff --git a/go.mod b/go.mod index 1554cb5..a5779cb 100644 --- a/go.mod +++ b/go.mod @@ -3,13 +3,13 @@ module github.com/joeky888/fpgo go 1.20 require ( - github.com/appleboy/graceful v0.1.0 - github.com/valyala/fasthttp v1.52.0 - golang.org/x/exp v0.0.0-20240205201215-2c58cdc269a3 + github.com/appleboy/graceful v1.1.1 + github.com/valyala/fasthttp v1.53.0 + golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 ) require ( github.com/andybalholm/brotli v1.1.0 // indirect - github.com/klauspost/compress v1.17.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect ) diff --git a/go.sum b/go.sum index 2236328..dcc7456 100644 --- a/go.sum +++ b/go.sum @@ -1,24 +1,12 @@ -github.com/andybalholm/brotli v1.0.5 h1:8uQZIdzKmjc/iuPu7O2ioW48L81FgatrcpfFmiq/cCs= -github.com/andybalholm/brotli v1.0.5/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1U3M= github.com/andybalholm/brotli v1.1.0/go.mod h1:sms7XGricyQI9K10gOSf56VKKWS4oLer58Q+mhRPtnY= -github.com/appleboy/graceful v0.0.4 h1:Q4LCeq4DFy59qiACLtuH+mSqDERtUzwkQbCWpRaWwvQ= -github.com/appleboy/graceful v0.0.4/go.mod h1:Q2mVx0t+N0lCDZc5MJudbcpTm6cgGM/J2gZCZIqD9dc= -github.com/appleboy/graceful v0.1.0 h1:WEZFeGe4eXwicrOFZWexmIgJRxhx+2kOKMVkbF09c4g= -github.com/appleboy/graceful v0.1.0/go.mod h1:Q2mVx0t+N0lCDZc5MJudbcpTm6cgGM/J2gZCZIqD9dc= -github.com/klauspost/compress v1.16.3 h1:XuJt9zzcnaz6a16/OU53ZjWp/v7/42WcR5t2a0PcNQY= -github.com/klauspost/compress v1.16.3/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= -github.com/klauspost/compress v1.17.6 h1:60eq2E/jlfwQXtvZEeBUYADs+BwKBWURIY+Gj2eRGjI= -github.com/klauspost/compress v1.17.6/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/appleboy/graceful v1.1.1 h1:vYqfpBdyEFztXofmw9iL8aohnxbcE+2Nq2j67SCoMBo= +github.com/appleboy/graceful v1.1.1/go.mod h1:gjCrWFsKhOX2N6jNY0QyQhK+WE8Z3TFSen4fExHg3wk= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= -github.com/valyala/fasthttp v1.50.0 h1:H7fweIlBm0rXLs2q0XbalvJ6r0CUPFWK3/bB4N13e9M= -github.com/valyala/fasthttp v1.50.0/go.mod h1:k2zXd82h/7UZc3VOdJ2WaUqt1uZ/XpXAfE9i+HBC3lA= -github.com/valyala/fasthttp v1.52.0 h1:wqBQpxH71XW0e2g+Og4dzQM8pk34aFYlA1Ga8db7gU0= -github.com/valyala/fasthttp v1.52.0/go.mod h1:hf5C4QnVMkNXMspnsUlfM3WitlgYflyhHYoKol/szxQ= -golang.org/x/exp v0.0.0-20230519143937-03e91628a987 h1:3xJIFvzUFbu4ls0BTBYcgbCGhA63eAOEMxIHugyXJqA= -golang.org/x/exp v0.0.0-20230519143937-03e91628a987/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w= -golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI= -golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo= -golang.org/x/exp v0.0.0-20240205201215-2c58cdc269a3 h1:/RIbNt/Zr7rVhIkQhooTxCxFcdWLGIKnZA4IXNFSrvo= -golang.org/x/exp v0.0.0-20240205201215-2c58cdc269a3/go.mod h1:idGWGoKP1toJGkd5/ig9ZLuPcZBC3ewk7SzmH0uou08= +github.com/valyala/fasthttp v1.53.0 h1:lW/+SUkOxCx2vlIu0iaImv4JLrVRnbbkpCoaawvA4zc= +github.com/valyala/fasthttp v1.53.0/go.mod h1:6dt4/8olwq9QARP/TDuPmWyWcl4byhpvTJ4AAtcz+QM= +golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 h1:vr/HnozRka3pE4EsMEg1lgkXJkTFJCVUX+S/ZT6wYzM= +golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= diff --git a/main.go b/main.go index ad9482b..f83381b 100644 --- a/main.go +++ b/main.go @@ -12,6 +12,7 @@ import ( "time" "unsafe" + "github.com/appleboy/graceful" "github.com/valyala/fasthttp" "golang.org/x/exp/slog" ) @@ -140,6 +141,23 @@ func b2s(b []byte) string { return *(*string)(unsafe.Pointer(&b)) } +// wait graceful shutdown +func wait(server *fasthttp.Server) <-chan struct{} { + graceful.NewManager().AddRunningJob(func(ctx context.Context) error { + <-ctx.Done() + server.DisableKeepalive = true + if err := server.Shutdown(); err != nil { + Warn("Shutdown err: %s", err) + defer os.Exit(1) + } else { + Info("gracefully stopped") + } + return nil + }) + + return graceful.NewManager().Done() +} + // request handler in fasthttp style, i.e. just plain function. func fastHTTPHandler(ctx *fasthttp.RequestCtx) { switch strings.ToUpper(b2s(ctx.Method())) { diff --git a/wait_unix.go b/wait_unix.go deleted file mode 100644 index b46fc33..0000000 --- a/wait_unix.go +++ /dev/null @@ -1,28 +0,0 @@ -//go:build !windows -// +build !windows - -package main - -import ( - "context" - "os" - - "github.com/appleboy/graceful" - "github.com/valyala/fasthttp" -) - -func wait(server *fasthttp.Server) <-chan struct{} { - graceful.NewManager().AddRunningJob(func(ctx context.Context) error { - <-ctx.Done() - server.DisableKeepalive = true - if err := server.Shutdown(); err != nil { - Warn("Shutdown err: %s", err) - defer os.Exit(1) - } else { - Info("gracefully stopped") - } - return nil - }) - - return graceful.NewManager().Done() -} diff --git a/wait_windows.go b/wait_windows.go deleted file mode 100644 index 59a7edf..0000000 --- a/wait_windows.go +++ /dev/null @@ -1,31 +0,0 @@ -//go:build windows -// +build windows - -package main - -import ( - "os" - "os/signal" - "syscall" - - "github.com/valyala/fasthttp" -) - -func wait(server *fasthttp.Server) <-chan struct{} { - ctx := make(chan os.Signal) - sig := make(chan struct{}) - signal.Notify(ctx, os.Interrupt, syscall.SIGTERM) - go func() { - <-ctx - server.DisableKeepalive = true - if err := server.Shutdown(); err != nil { - Warn("Shutdown err: %s", err) - defer os.Exit(1) - } else { - Info("gracefully stopped") - } - sig <- struct{}{} - }() - - return sig -}