liuxiaolong
2020-06-02 1e2ef48df6ec8542f82edcdf796759bfeca4bf09
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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")
}