class_docstr: Worker pool entry point.
  
  The worker pool exposes an RPC service that is used in MiniCluster to start and stop the Python
  SDK workers.
  
  The worker pool uses child thread for parallelism
class_docstr_tok: ["Worker","pool","entry","point",".","The","worker","pool","exposes","an","RPC","service","that","is","used","in","MiniCluster","to","start","and","stop","the","Python","SDK","workers",".","The","worker","pool","uses","child","thread","for","parallelism"]
code: def __init__(self):
      self._parse_param_lock = threading.Lock()
      self._worker_address = None
      self._old_working_dir = None
      self._old_python_path = None
      self._ref_cnt = 0
  
imports: import atexit
  import functools
  import logging
  import os
  import sys
  import threading
  import traceback
  import grpc
  from apache_beam.options.pipeline_options import DebugOptions
  from apache_beam.options.pipeline_options import ProfilingOptions
  from apache_beam.portability.api import beam_fn_api_pb2
  from apache_beam.portability.api import beam_fn_api_pb2_grpc
  from apache_beam.portability.api import endpoints_pb2
  from apache_beam.portability.api.org.apache.beam.model.fn_execution.v1.beam_provision_api_pb2 import GetProvisionInfoRequest
  from apache_beam.portability.api.org.apache.beam.model.fn_execution.v1.beam_provision_api_pb2_grpc import ProvisionServiceStub
  from apache_beam.runners.worker import sdk_worker_main
  from apache_beam.runners.worker.log_handler import FnApiLogRecordHandler
  from apache_beam.runners.worker.sdk_worker import SdkHarness
  from apache_beam.utils import thread_pool_executor, profiler
  from google.protobuf import json_format
  from pyflink.fn_execution.beam import beam_sdk_worker_main
label_desc: Use image node_id 2 to create a new BeamFnLoopbackWorkerPoolServicer object from inherited base classes: beam_fn_api_pb2_grpc with example: obj = BeamFnLoopbackWorkerPoolServicer()