MCPcopy Create free account
hub / github.com/GoEdgeLab/EdgeNode / syncUserServersConfig

Method syncUserServersConfig

internal/nodes/node.go:463–490  ·  view source on GitHub ↗

同步某个用户下的所有服务配置

(userId int64)

Source from the content-addressed store, hash-verified

461
462// 同步某个用户下的所有服务配置
463func (this *Node) syncUserServersConfig(userId int64) error {
464 rpcClient, err := rpc.SharedRPC()
465 if err != nil {
466 return err
467 }
468 serverConfigsResp, err := rpcClient.ServerRPC.ComposeAllUserServersConfig(rpcClient.Context(), &pb.ComposeAllUserServersConfigRequest{
469 UserId: userId,
470 })
471 if err != nil {
472 return err
473 }
474 if len(serverConfigsResp.ServersConfigJSON) == 0 {
475 return nil
476 }
477 var serverConfigs = []*serverconfigs.ServerConfig{}
478 err = json.Unmarshal(serverConfigsResp.ServersConfigJSON, &serverConfigs)
479 if err != nil {
480 return err
481 }
482 this.locker.Lock()
483 defer this.locker.Unlock()
484
485 for _, config := range serverConfigs {
486 this.updatingServerMap[config.Id] = config
487 }
488
489 return nil
490}
491
492// 启动同步计时器
493func (this *Node) startSyncTimer() {

Callers 1

Calls 4

SharedRPCFunction · 0.92
ContextMethod · 0.80
LockMethod · 0.45
UnlockMethod · 0.45

Tested by

no test coverage detected