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")
| }
|
|