package service import ( "basic.com/pubsub/protomsg.git" "context" "errors" "strconv" "time" "webserver/extend/config" "basic.com/valib/logger.git" "google.golang.org/grpc" ) func DoFDetectWithRpc(fdr *protomsg.FaceDetectRequest,t time.Duration) ([]*protomsg.ResultFaceDetect,error) { fdUrl:=config.FaceDetectSet.Ip + ":" + strconv.Itoa(config.FaceDetectSet.Port) conn,err := grpc.Dial(fdUrl, 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") }