Skip to content

Commit 74a2f57

Browse files
committed
fix: can't connect rpc at first time
1 parent 35c0cd0 commit 74a2f57

File tree

1 file changed

+5
-8
lines changed

1 file changed

+5
-8
lines changed

core/service/rpc_client.go

+5-8
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
package service
1010

1111
import (
12+
"context"
1213
"github.com/ixre/gof/log"
1314
"go.etcd.io/etcd/clientv3"
1415
"go2o/core/etcd"
@@ -18,12 +19,10 @@ import (
1819
"time"
1920
)
2021

21-
//var cfg clientv3.Config
2222
var selector etcd.Selector
2323

2424
// 设置RPC地址
2525
func ConfigureClient(c clientv3.Config) {
26-
//cfg = c
2726
log.Println("[ Go2o][ RPC]: connecting go2o rpc server...")
2827
s, err := etcd.NewSelector(service, c, etcd.AlgRoundRobin)
2928
if err != nil {
@@ -32,19 +31,15 @@ func ConfigureClient(c clientv3.Config) {
3231
}
3332
selector = s
3433
tryConnect(10)
35-
log.Println("[ Go2o][ API]: try times limit")
3634
}
3735

3836
// 尝试连接服务,如果连接不成功,则退出
3937
func tryConnect(retryTimes int) {
4038
for i := 0; i < retryTimes; i++ {
41-
log.Println("try ",i)
4239
trans, _, err := StatusServiceClient()
4340
if err == nil {
4441
trans.Close()
4542
break
46-
}else{
47-
log.Println(err.Error())
4843
}
4944
time.Sleep(time.Second)
5045
if i >= retryTimes-1 {
@@ -60,8 +55,10 @@ func getConn(selector etcd.Selector) (*grpc.ClientConn, error) {
6055
if err != nil {
6156
return nil, err
6257
}
63-
log.Println("addr:",next.Addr)
64-
return grpc.Dial(next.Addr, grpc.WithInsecure(), grpc.WithBlock())
58+
ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
59+
conn, err := grpc.DialContext(ctx, next.Addr, grpc.WithInsecure(), grpc.WithBlock())
60+
cancel()
61+
return conn, err
6562
}
6663

6764
// 状态客户端

0 commit comments

Comments
 (0)