ee23102d
zhangqijia
支持mongo, grpc接服务器
|
1
2
3
4
|
package actions
import (
"fmt"
|
f7f4beb5
zhangqijia
新增grpc平滑关闭,修复crea...
|
5
|
"google.golang.org/grpc"
|
ee23102d
zhangqijia
支持mongo, grpc接服务器
|
6
|
"net"
|
3592dfd3
zhangqijia
重构models, 索引唯一索引
|
7
|
"pro2d/components/db"
|
286f6dbe
zhangqijia
etcd 保存服务信息
|
8
|
"pro2d/components/etcd"
|
ee23102d
zhangqijia
支持mongo, grpc接服务器
|
9
|
"pro2d/conf"
|
f7f4beb5
zhangqijia
新增grpc平滑关闭,修复crea...
|
10
|
"pro2d/utils"
|
ee23102d
zhangqijia
支持mongo, grpc接服务器
|
11
12
13
|
)
type BasicServer struct {
|
f7f4beb5
zhangqijia
新增grpc平滑关闭,修复crea...
|
14
|
SConf *conf.SConf
|
286f6dbe
zhangqijia
etcd 保存服务信息
|
15
|
EtcdClient *etcd.EtcdClient
|
f7f4beb5
zhangqijia
新增grpc平滑关闭,修复crea...
|
16
|
GrpcServer *grpc.Server
|
ee23102d
zhangqijia
支持mongo, grpc接服务器
|
17
18
|
}
|
286f6dbe
zhangqijia
etcd 保存服务信息
|
19
20
|
func NewServer() *BasicServer {
return &BasicServer{}
|
ee23102d
zhangqijia
支持mongo, grpc接服务器
|
21
22
23
|
}
func (b *BasicServer) Start(sConf *conf.SConf) (net.Listener, error) {
|
286f6dbe
zhangqijia
etcd 保存服务信息
|
24
25
|
b.SConf = sConf
|
3592dfd3
zhangqijia
重构models, 索引唯一索引
|
26
|
//初始化数据库
|
1584eb4b
zhangqijia
修复创建唯一索引的bug
|
27
|
db.MongoDatabase = db.MongoClient.Database(sConf.DBName)
|
286f6dbe
zhangqijia
etcd 保存服务信息
|
28
29
30
|
//初始化etcd
b.EtcdClient = etcd.NewEtcdClient(conf.GlobalConf.Etcd)
b.EtcdClient.PutWithLeasePrefix(sConf.Name, sConf.ID, fmt.Sprintf("%s:%d", sConf.IP, sConf.Port), 10)
|
3592dfd3
zhangqijia
重构models, 索引唯一索引
|
31
|
|
ee23102d
zhangqijia
支持mongo, grpc接服务器
|
32
33
34
35
36
37
38
39
|
listing := fmt.Sprintf(":%d", sConf.Port)
lis, err := net.Listen("tcp", listing)
if err != nil {
return nil, err
}
return lis, err
}
|
f7f4beb5
zhangqijia
新增grpc平滑关闭,修复crea...
|
40
41
42
43
|
func (b *BasicServer) Stop() {
utils.Sugar.Debugf("平滑关闭服务")
b.EtcdClient.Close()
b.GrpcServer.GracefulStop()
|
ee23102d
zhangqijia
支持mongo, grpc接服务器
|
44
|
}
|