github.com/micro/go-micro/examples@v0.0.0-20210105173217-bf4ab679e18b/event/srv/main.go (about) 1 package main 2 3 import ( 4 "context" 5 6 "github.com/micro/go-micro/v2" 7 proto "github.com/micro/go-micro/v2/api/proto" 8 "github.com/micro/go-micro/v2/util/log" 9 ) 10 11 // All methods of Event will be executed when a message is received 12 type Event struct{} 13 14 // Method can be of any name 15 func (e *Event) Process(ctx context.Context, event *proto.Event) error { 16 log.Logf("Received event %+v\n", event) 17 // do something with event 18 return nil 19 } 20 21 func main() { 22 service := micro.NewService( 23 micro.Name("user"), 24 ) 25 service.Init() 26 27 // register subscriber 28 micro.RegisterSubscriber("go.micro.evt.user", service.Server(), new(Event)) 29 30 if err := service.Run(); err != nil { 31 log.Fatal(err) 32 } 33 }