mybigman / go-graceful

A best practice http server set up that supports graceful shutdown

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

graceful

Build Status Coverage Status Docs: GoDoc

Join the chat at https://slack.ory.sh/

Best practice http server configurations and helpers for Go 1.8's http graceful shutdown feature. Currently supports best practice configurations by:

Usage

To install this library, do:

go get github.com/ory/graceful

Running Cloudflare Config with Graceful Shutdown

package main

import (
    "net/http"
    "log"

    "github.com/ory/graceful"
)

func main() {
    server := graceful.WithDefaults(&http.Server{
        Addr: ":54932",
        // Handler: someHandler,
    })

    log.Println("main: Starting the server")
    if err := graceful.Graceful(server.ListenAndServe, server.Shutdown); err != nil {
        log.Fatalln("main: Failed to gracefully shutdown")
    }
    log.Println("main: Server was shutdown gracefully")
}

About

A best practice http server set up that supports graceful shutdown

License:Apache License 2.0


Languages

Language:Go 92.6%Language:Makefile 5.7%Language:Shell 1.7%