kulti / grpc-retry

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

gRPC Retry Golang Library

CI Go Report Card MIT License Go Reference

gRPC golang library does not allow to reconnect after failures. This package provides a server wrapper to handle that.

Example

ctx, cancel := signal.NotifyContext(context.Background(), os.Interrupt)
defer cancel()

srv := server.New(server.Params{
    Address:      "0.0.0.0:9090",
    RetryTimeout: time.Second,
    OnRetryFn:    func(err error) { log.Println("restarting server after error:", err) },
})

go func() {
    <-ctx.Done()
    srv.GracefulStop()
}()

myrpc.RegisterMyServer(srv, myrpcserver.New())
srv.Run(ctx)

About

License:MIT License


Languages

Language:Go 100.0%