package service import ( "basic.com/pubsub/protomsg.git" "context" "errors" "time" "webserver/extend/config" "webserver/extend/logger" "google.golang.org/grpc" ) func DoFDetectWithRpc(fdr *protomsg.FaceDetectRequest,t time.Duration) ([]*protomsg.ResultFaceDetect,error) { conn,err := grpc.Dial(config.FaceDetectSet.Url, grpc.WithInsecure()) if err !=nil { logger.Debug("grpc dial err:",err) } defer conn.Close() c := protomsg.NewFaceDetectClient(conn) ctx,cancel := context.WithTimeout(context.Background(), t) defer cancel() faces,err := c.FaceDetect(ctx,fdr) if err !=nil { logger.Debug("rpc call err:",err) return nil,err } if faces !=nil { return faces.Faces,nil } return nil,errors.New("no face detected") }