class_docstr: Manages the status/heartbeat monitor for a set of workers.
class_docstr_tok: ["Manages","the","status\/heartbeat","monitor","for","a","set","of","workers","."]
docstr: Ping all workers, returning manager containing lame workers (or None).
docstr_tok: ["Ping","all","workers",",","returning","manager","containing","lame","workers","(","or","None",")","."]
code: def lame_workers(self):
      """Ping all workers, returning manager containing lame workers (or None)."""
      ping_results = self.ping()
      lame_workers = []
  
      for ping_response, device, op in zip(
          ping_results, self._devices, self._ops
      ):
          if ping_response.health_status != event_pb2.OK:
              lame_workers.append((device, op))
  
      if not lame_workers:
          return None
  
      bad_devices, bad_ops = zip(*lame_workers)
      return WorkerHeartbeatManager(
          self._session, bad_devices, bad_ops, self._request_placeholder
      )
  
imports: import threading
  import time
  from google.protobuf import text_format
  from tensorflow.core.protobuf import config_pb2
  from tensorflow.core.util import event_pb2
  from tensorflow.python.client import session
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors
  from tensorflow.python.framework import ops
  from tensorflow.python.ops import array_ops
  from tensorflow.python.platform import tf_logging
  from tensorflow.python.tpu.ops import tpu_ops
  from tensorflow.python.training import session_run_hook
  from tensorflow.python.training import training_util
label_desc: Use image node_id 6 for calling the WorkerHeartbeatManager obj's underlying member method code with example usage: obj.lame_workers() and returns: WorkerHeartbeatManager, None