mirror of
https://github.com/crawlab-team/crawlab.git
synced 2026-01-21 17:21:09 +01:00
fix: duplicated start grpc client
This commit is contained in:
@@ -36,6 +36,7 @@ type GrpcClientV2 struct {
|
|||||||
stream grpc2.NodeService_SubscribeClient
|
stream grpc2.NodeService_SubscribeClient
|
||||||
msgCh chan *grpc2.StreamMessage
|
msgCh chan *grpc2.StreamMessage
|
||||||
err error
|
err error
|
||||||
|
once sync.Once
|
||||||
|
|
||||||
// clients
|
// clients
|
||||||
NodeClient grpc2.NodeServiceClient
|
NodeClient grpc2.NodeServiceClient
|
||||||
@@ -46,23 +47,27 @@ type GrpcClientV2 struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (c *GrpcClientV2) Start() (err error) {
|
func (c *GrpcClientV2) Start() (err error) {
|
||||||
// connect
|
c.once.Do(func() {
|
||||||
if err := c.connect(); err != nil {
|
// connect
|
||||||
return err
|
err = c.connect()
|
||||||
}
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// register rpc services
|
// register rpc services
|
||||||
c.Register()
|
c.Register()
|
||||||
|
|
||||||
// subscribe
|
// subscribe
|
||||||
if err := c.subscribe(); err != nil {
|
err = c.subscribe()
|
||||||
return err
|
if err != nil {
|
||||||
}
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// handle stream message
|
// handle stream message
|
||||||
go c.handleStreamMessage()
|
go c.handleStreamMessage()
|
||||||
|
})
|
||||||
|
|
||||||
return nil
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *GrpcClientV2) Stop() (err error) {
|
func (c *GrpcClientV2) Stop() (err error) {
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ func (svr NodeServerV2) Register(ctx context.Context, req *grpc.Request) (res *g
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return HandleError(err)
|
return HandleError(err)
|
||||||
}
|
}
|
||||||
log.Infof("[NodeServerV2] updated worker[%s] in db. id: %s", nodeKey, node.Id.Hex())
|
log.Infof("[NodeServerV2] updated worker[%s] in db. id: %s", nodeKey, nodeDb.Id.Hex())
|
||||||
}
|
}
|
||||||
} else if errors2.Is(err, mongo.ErrNoDocuments) {
|
} else if errors2.Is(err, mongo.ErrNoDocuments) {
|
||||||
// register new
|
// register new
|
||||||
|
|||||||
Reference in New Issue
Block a user