class_docstr: This should be a pickable class.
class_docstr_tok: ["This","should","be","a","pickable","class","."]
code: def gen_ray_master_start(self):
      def _start_ray_master(index, iter):
          from zoo.util.utils import get_node_ip
  
          process_info = None
          if index == 0:
              print("partition id is : {}".format(index))
              current_ip = get_node_ip()
              print("master address {}".format(current_ip))
              redis_address = "{}:{}".format(
                  current_ip, self.redis_port
              )
              process_info = self._start_ray_node(
                  command=self._gen_master_command(), tag="ray-master"
              )
              process_info.master_addr = redis_address
          yield process_info
  
      return _start_ray_master
  
imports: import os
  import re
  import subprocess
  import time
  import uuid
  import random
  import warnings
  import tempfile
  import filelock
  import multiprocessing
  from packaging import version
  from zoo.ray.process import session_execute, ProcessMonitor
  from zoo.ray.utils import is_local
  from zoo.ray.utils import resource_to_bytes
  from zoo.ray.utils import get_parent_pid
label_desc: Use image node_id 11 for calling the RayServiceFuncGenerator obj's underlying member method code with example usage: obj.gen_ray_master_start() and returns: _start_ray_master