class_docstr: This should be a pickable class.
class_docstr_tok: ["This","should","be","a","pickable","class","."]
docstr: object_store_memory: integer in bytes
docstr_tok: ["object_store_memory",":","integer","in","bytes"]
code: def __init__(
      self,
      python_loc,
      redis_port,
      ray_node_cpu_cores,
      redis_password,
      object_store_memory,
      verbose=False,
      env=None,
      include_webui=False,
      extra_params=None,
  ):
      """object_store_memory: integer in bytes"""
      self.env = env
      self.python_loc = python_loc
      self.redis_port = redis_port
      self.redis_password = redis_password
      self.ray_node_cpu_cores = ray_node_cpu_cores
      self.ray_exec = self._get_ray_exec()
      self.object_store_memory = object_store_memory
      self.extra_params = extra_params
      self.include_webui = include_webui
      self.verbose = verbose
      # _mxnet_worker and _mxnet_server are resource tags for distributed MXNet training only
      # in order to diff worker from server.
      # This is useful to allocate workers and servers in the cluster.
      # Leave some reserved custom resources free to avoid unknown crash due to resources.
      self.labels = (
          """--resources '{"_mxnet_worker": %s, "_mxnet_server": %s, "_reserved": %s}'"""
          % (1, 1, 2)
      )
      # Add a unique id so that different Ray programs won't affect each other even if
      # the flags and locks are not removed.
      tag = uuid.uuid4().hex
      self.ray_master_flag = "ray_master_{}".format(tag)
      self.ray_master_lock = "ray_master_start_{}.lock".format(tag)
      self.raylet_lock = "raylet_start_{}.lock".format(tag)
  
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 2 to create a new RayServiceFuncGenerator object from inherited base classes: object with example: obj = RayServiceFuncGenerator(python_loc, redis_port, ray_node_cpu_cores, redis_password, object_store_memory, verbose, env, include_webui, extra_params)