client调用srv超时
现象
{"id":"go.micro.client","code":408,"detail":"call timeout: context deadline exceeded","status":"Request Timeout"}
解决方案
// 用http导入1.2W条数据,需要6分钟。设置超时,可以避免RPC调用超时
// 后续会改成websocket传输,提供进度条
start := time.Now()
var opts client.CallOption = func(o *client.CallOptions) {
o.RequestTimeout = time.Second * 3600
o.DialTimeout = time.Second * 3600
}
_, err := s.c.MRpc.SysClient.Icd10Srv.BatchAddIcd10(ctx, &model, opts)
if err != nil {
sub := time.Now().Sub(start).String()
logs.Debug("导入Excel耗时: %s", sub)
RPCErr := ecode.Parse(err.Error())
return ecode.Code{ID: RPCErr.Code, Msg: RPCErr.Msg}
}
sub := time.Now().Sub(start).String()
logs.Debug("导入Excel耗时: %s", sub)