mirror of
				https://github.com/TeaOSLab/EdgeAPI.git
				synced 2025-11-04 07:50:25 +08:00 
			
		
		
		
	可以远程停止和启动DNS节点
This commit is contained in:
		@@ -275,6 +275,7 @@ func (this *NSNodeService) FindEnabledNSNode(ctx context.Context, req *pb.FindEn
 | 
			
		||||
		},
 | 
			
		||||
		InstallStatus: installStatusResult,
 | 
			
		||||
		IsOn:          node.IsOn == 1,
 | 
			
		||||
		IsActive:      node.IsActive == 1,
 | 
			
		||||
		NodeLogin:     respLogin,
 | 
			
		||||
	}}, nil
 | 
			
		||||
}
 | 
			
		||||
@@ -517,3 +518,55 @@ func (this *NSNodeService) UpdateNSNodeLogin(ctx context.Context, req *pb.Update
 | 
			
		||||
 | 
			
		||||
	return this.Success()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// StartNSNode 启动节点
 | 
			
		||||
func (this *NSNodeService) StartNSNode(ctx context.Context, req *pb.StartNSNodeRequest) (*pb.StartNSNodeResponse, error) {
 | 
			
		||||
	// 校验节点
 | 
			
		||||
	_, err := this.ValidateAdmin(ctx, 0)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	err = installers.SharedNSNodeQueue().StartNode(req.NsNodeId)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return &pb.StartNSNodeResponse{
 | 
			
		||||
			IsOk:  false,
 | 
			
		||||
			Error: err.Error(),
 | 
			
		||||
		}, nil
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 修改状态
 | 
			
		||||
	var tx = this.NullTx()
 | 
			
		||||
	err = models.SharedNSNodeDAO.UpdateNodeActive(tx, req.NsNodeId, true)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return &pb.StartNSNodeResponse{IsOk: true}, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// StopNSNode 停止节点
 | 
			
		||||
func (this *NSNodeService) StopNSNode(ctx context.Context, req *pb.StopNSNodeRequest) (*pb.StopNSNodeResponse, error) {
 | 
			
		||||
	// 校验节点
 | 
			
		||||
	_, err := this.ValidateAdmin(ctx, 0)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	err = installers.SharedNSNodeQueue().StopNode(req.NsNodeId)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return &pb.StopNSNodeResponse{
 | 
			
		||||
			IsOk:  false,
 | 
			
		||||
			Error: err.Error(),
 | 
			
		||||
		}, nil
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 修改状态
 | 
			
		||||
	var tx = this.NullTx()
 | 
			
		||||
	err = models.SharedNSNodeDAO.UpdateNodeActive(tx, req.NsNodeId, false)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return &pb.StopNSNodeResponse{IsOk: true}, nil
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user