class_docstr: A rendezvous class for different actor/task processes to meet.
  
  To initialize an GLOO collective communication group, different
  actors/tasks spawned in Ray in a collective group needs to meet
  each other to synchronize the GLOOUniqueID. This class guarantees
  they meet via the GLOOUniqueIDStore, initialized on the rank=0
  process.
  
  Args:
      group_name: the unique user-specified group name.
code: def create_store(self, store_type):
      if store_type == "ray_internal_kv":
          ray_internal_kv_store = gloo_util.RayInternalKvStore(
              self._group_name
          )
          self._store = pygloo.rendezvous.CustomStore(
              ray_internal_kv_store
          )
      elif store_type == "redis":
          redisStore = pygloo.rendezvous.RedisStore(
              self._redis_ip_address, int(self._redis_port)
          )
          redis_password = (
              ray._private.worker._global_node.redis_password
          )
          if redis_password is None or len(redis_password) == 0:
              redis_password = ray_constants.REDIS_DEFAULT_PASSWORD
          redisStore.authorize(redis_password)
          self._store = redisStore
      elif store_type == "file":
          store_name = get_store_name(self._group_name)
          store_path = gloo_util.get_gloo_store_path(store_name)
          if self._context.rank == 0:
              if not os.path.exists(store_path):
                  os.makedirs(store_path)
              elif os.listdir(store_path) and os.listdir(store_path):
                  shutil.rmtree(store_path)
                  os.makedirs(store_path)
          else:
              while not os.path.exists(store_path):
                  time.sleep(0.1)
          # Note: multi-machines needs a shared NFS.
          fileStore = pygloo.rendezvous.FileStore(store_path)
          self._store = pygloo.rendezvous.PrefixStore(
              self._group_name, fileStore
          )
      elif store_type == "hash":
          raise NotImplementedError("No implementation for hash store.")
      else:
          raise RuntimeError(
              "Unrecognized store type: {}.".format(store_type)
          )
  
imports: import datetime
  import logging
  import os
  import shutil
  import time
  import numpy
  import pygloo
  import ray
  from ray._private import ray_constants
  from ray.util.collective.collective_group import gloo_util
  from ray.util.collective.collective_group.base_collective_group import BaseGroup
  from ray.util.collective.const import get_store_name
  from ray.util.collective.types import AllGatherOptions, AllReduceOptions, Backend, BarrierOptions, BroadcastOptions, RecvOptions, ReduceOptions, ReduceScatterOptions, SendOptions
label_desc: Use image node_id 2 for calling the Rendezvous obj's underlying member method code with example usage: obj.create_store(store_type) without return types