task handler
This commit is contained in:
parent
03bcda8eab
commit
338802339c
3 changed files with 119 additions and 4 deletions
56
internal/task/handler.go
Normal file
56
internal/task/handler.go
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
package task
|
||||
|
||||
import (
|
||||
log "github.com/sirupsen/logrus"
|
||||
"google.golang.org/grpc"
|
||||
"merch-api/internal/common"
|
||||
taskTransportV1 "merch-api/pkg/taskTransport/v1"
|
||||
"net"
|
||||
)
|
||||
|
||||
const pkgLogHeader string = "Tasker |"
|
||||
|
||||
type Handler struct {
|
||||
addr string
|
||||
srv *grpc.Server
|
||||
*service
|
||||
}
|
||||
|
||||
type Deps struct {
|
||||
Addr string
|
||||
MerchProvider common.MerchProvider
|
||||
}
|
||||
|
||||
func New(deps Deps) *Handler {
|
||||
srv := grpc.NewServer()
|
||||
|
||||
handler := &Handler{
|
||||
addr: deps.Addr,
|
||||
service: newService(deps.MerchProvider),
|
||||
}
|
||||
|
||||
taskTransportV1.RegisterTaskProcessorServer(srv, handler)
|
||||
|
||||
return handler
|
||||
}
|
||||
|
||||
func (h *Handler) Serve() error {
|
||||
listener, err := net.Listen("tcp", h.addr)
|
||||
if err != nil {
|
||||
log.WithError(err).Errorf("%v Listner failure", pkgLogHeader)
|
||||
return err
|
||||
}
|
||||
|
||||
if err = h.srv.Serve(listener); err != nil {
|
||||
log.WithError(err).Errorf("%v Serve failure", pkgLogHeader)
|
||||
return err
|
||||
}
|
||||
|
||||
log.Infof("%v gRPC server started on: %v", pkgLogHeader, h.addr)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (h *Handler) Shutdown() {
|
||||
h.srv.GracefulStop()
|
||||
log.Infof("%v gRPC server shutdown", pkgLogHeader)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue