class_docstr: A gRPC service server for updating remote job info to MLMD.
  
  Attributes:
    local_address: Local network address to the server.
    address: Remote network address to the server, same as local_address if not
             configured.
class_docstr_tok: ["A","gRPC","service","server","for","updating","remote","job","info","to","MLMD",".","Attributes",":","local_address",":","Local","network","address","to","the","server",".","address",":","Remote","network","address","to","the","server",",","same","as","local_address","if","not","configured","."]
code: def address(self) -> str:
      return self._address or self.local_address
  
file_path: tfx/tfx/orchestration/portable/execution_watcher.py
imports: from concurrent import futures
  from typing import Optional
  from absl import logging
  import grpc
  from tfx.orchestration import metadata
  from tfx.proto.orchestration import execution_watcher_pb2
  from tfx.proto.orchestration import execution_watcher_pb2_grpc
  from ml_metadata.proto import metadata_store_pb2
label_desc: Use image node_id 5 for calling the ExecutionWatcher obj's underlying member method code with example usage: obj.address() and returns: unknown