github.com/micro/go-micro/examples@v0.0.0-20210105173217-bf4ab679e18b/greeter/srv/main.go (about)

     1  // Package main
     2  package main
     3  
     4  import (
     5  	"context"
     6  	"time"
     7  
     8  	hello "github.com/micro/go-micro/examples/greeter/srv/proto/hello"
     9  	"github.com/micro/go-micro/v2"
    10  	"github.com/micro/go-micro/v2/util/log"
    11  	"google.golang.org/grpc"
    12  )
    13  
    14  type Say struct{}
    15  
    16  func (s *Say) Hello(ctx context.Context, req *hello.Request, rsp *hello.Response) error {
    17  	log.Log("Received Say.Hello request")
    18  	rsp.Msg = "Hello " + req.Name
    19  	return nil
    20  }
    21  
    22  func main() {
    23  	go func() {
    24  		for {
    25  			grpc.DialContext(context.TODO(), "127.0.0.1:9091")
    26  			time.Sleep(time.Second)
    27  		}
    28  	}()
    29  
    30  	service := micro.NewService(
    31  		micro.Name("go.micro.srv.greeter"),
    32  	)
    33  
    34  	// optionally setup command line usage
    35  	service.Init()
    36  
    37  	// Register Handlers
    38  	hello.RegisterSayHandler(service.Server(), new(Say))
    39  
    40  	// Run server
    41  	if err := service.Run(); err != nil {
    42  		log.Fatal(err)
    43  	}
    44  }