前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RTSP视频智能分析平台EasyNVR多nginx启动时getlivesessions接口如何返回所有nginx数据?

RTSP视频智能分析平台EasyNVR多nginx启动时getlivesessions接口如何返回所有nginx数据?

作者头像
EasyNVR
发布2020-12-29 10:20:37
3250
发布2020-12-29 10:20:37
举报
文章被收录于专栏:EasyNVR

我们讲过TSINGSEE青犀视频云边端智能分析平台支持多nginx启动,多nginx启动的目的主要是为了缓解一个nginx启动时带来的压力。

测试多nginx启动期间,视频智能分析平台EasyNVR的getlivesessions接口正常来说应该会返回所有nginx的数据,但实际上只返回了默认nginx的数据,没有其他nginx的数据。

EasyNVR视频平台的getlivesessions接口返回的nginx信息,其实是需要golang从nginx的http://127.0.0.1:10100/getlivesessions这个接口获取的数据,然后拼装下返回到前端。而该问题就是golang只需要向默认的nginx接口请求,并返回了数据。

此处是不开启多nginx时,golang只需要向默认的nginx的接口请求然后返回数据;

此处是开启多nginx时,golang需要向所有的nginx的接口请求返回数据。因此我们按照如下调用接口请求,获取数据:

代码语言:javascript
复制
func getReuslts(index int) (results []gjson.Result) {
   client := http.Client{
      Timeout: 3 * time.Second,
   }
   resp := &http.Response{}
   var err error
   if index == 0 {
      resp, err = client.Get(fmt.Sprintf("http://127.0.0.1:%d/getlivesessions", GetHTTPPort()))
   } else {
      resp, err = client.Get(fmt.Sprintf("http://127.0.0.1:%d/getlivesessions", GetMutliHTTPPort(index)))
   }
   if err != nil {
      return
   }
   defer resp.Body.Close()
   body, err := ioutil.ReadAll(resp.Body)
   if err != nil {
      return
   }
   gsessions := gjson.GetBytes(body, "EasyDSS.Body.Sessions.Sessions")
   if !gsessions.IsArray() {
      return
   }
   return gsessions.Array()
}

如此,便能获取所有nginx接口的返回数据了。TSINGSEE青犀视频其他视频平台比如EasyGBS、EasyCVR等都是支持多nginx启动的,如果有朋友不明白,可以关注我们,如需测试或者了解更多,也可以直接联系我们,欢迎大家的咨询。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-12-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
智能推荐平台
智能推荐平台(Intelligent Recommendation Platform,IRP)是集生态、技术、场景于一体,采用业界领先的AI学习技术和智能推荐算法,基于腾讯多年在超大型场景中积累的最佳实践方法论,助力客户业务实现增长的企业级应用产品。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档