vic3lord / graceful

Go graceful shutdown wrapper

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Graceful

Graceful shutdown helpers for long running servers. Databases, HTTP, gRPC, etc.

package main

import (
	"errors"
	"net/http"

	"github.com/vic3lord/graceful"
)

func main() {
	srv := &http.Server{Addr: ":3000"}
	go func() {
		err := srv.ListenAndServe()
		if !errors.Is(err, http.ErrServerClosed) {
			// Handle error here.
		}
	}()
	graceful.Drain(context.Background(), &graceful.DrainHTTP{srv})
}

About

Go graceful shutdown wrapper

License:BSD 2-Clause "Simplified" License


Languages

Language:Go 100.0%