code: def _node_batch_iter_from_server(
      self, server_idx, batch_size, node_type, rank=0, nrank=1
  ):
      assert batch_size > 0, (
          "batch_size should be larger than 0, but got %s <= 0"
          % batch_size
      )
      assert server_idx >= 0 and server_idx < self.server_num, (
          "server_idx should be in range 0 <= server_idx < server_num, but got %s"
          % server_idx
      )
      start = rank
      step = nrank
      while True:
          res = self._client.pull_graph_list(
              node_type, server_idx, start, batch_size, step
          )
          start += nrank * batch_size
          nodes = [x.get_id() for x in res]
  
          if len(nodes) > 0:
              yield nodes
          if len(nodes) != batch_size:
              break
  
imports: import os
  import sys
  import time
  import argparse
  import warnings
  import numpy
  from functools import partial
  from paddle.framework import core
  from pgl.utils.logger import log
  from pgl.distributed import helper
label_desc: Use image node_id 7 for calling the DistGraphClient obj's underlying member method code with example usage: obj._node_batch_iter_from_server(server_idx, batch_size, node_type, rank, nrank) without return types