fix: return general data info when a mtp is down
This commit is contained in:
parent
945405eaf7
commit
9ae5128800
|
|
@ -73,28 +73,24 @@ func (a *Api) generalInfo(w http.ResponseWriter, r *http.Request) {
|
|||
result.ProductClassCount = productclasscount.Msg
|
||||
|
||||
now := time.Now()
|
||||
_, err = bridge.NatsReq[time.Duration](
|
||||
_, err = bridge.NatsReqWithoutHttpSet[time.Duration](
|
||||
local.NATS_WS_ADAPTER_SUBJECT_PREFIX+"rtt",
|
||||
[]byte(""),
|
||||
w,
|
||||
a.nc,
|
||||
)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if err == nil {
|
||||
result.WebsocketsRtt = time.Until(now).String()
|
||||
}
|
||||
|
||||
now = time.Now()
|
||||
_, err = bridge.NatsReq[time.Duration](
|
||||
_, err = bridge.NatsReqWithoutHttpSet[time.Duration](
|
||||
local.NATS_MQTT_ADAPTER_SUBJECT_PREFIX+"rtt",
|
||||
[]byte(""),
|
||||
w,
|
||||
a.nc,
|
||||
)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if err == nil {
|
||||
result.MqttRtt = time.Until(now).String()
|
||||
}
|
||||
|
||||
err = json.NewEncoder(w).Encode(result)
|
||||
if err != nil {
|
||||
|
|
|
|||
|
|
@ -172,3 +172,35 @@ func NatsReq[T entity.DataType](
|
|||
|
||||
return answer, nil
|
||||
}
|
||||
|
||||
func NatsReqWithoutHttpSet[T entity.DataType](
|
||||
subj string,
|
||||
body []byte,
|
||||
nc *nats.Conn,
|
||||
) (*entity.MsgAnswer[T], error) {
|
||||
|
||||
var answer *entity.MsgAnswer[T]
|
||||
|
||||
msg, err := nc.Request(subj, body, local.NATS_REQUEST_TIMEOUT)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
err = json.Unmarshal(msg.Data, &answer)
|
||||
if err != nil {
|
||||
|
||||
var errMsg *entity.MsgAnswer[*string]
|
||||
err = json.Unmarshal(msg.Data, &errMsg)
|
||||
|
||||
if err != nil {
|
||||
log.Println("Bad answer message formatting: ", err.Error())
|
||||
return nil, err
|
||||
}
|
||||
|
||||
log.Printf("Error message received, msg: %s, code: %d", *errMsg.Msg, errMsg.Code)
|
||||
return nil, errNatsMsgReceivedWithErrorData
|
||||
}
|
||||
|
||||
return answer, nil
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user