def METHOD_NAME(self):
    worker_manager = WorkerManager(
        self._job_nodes[NodeType.WORKER],
        self._job_resource,
        3,
        self._elastic_job.get_node_service_addr,
        self._elastic_job.get_node_name,
    )
    for node in worker_manager._nodes.values():
        node.status = NodeStatus.FAILED
        node.exit_reason = NodeExitReason.FATAL_ERROR
    failed = worker_manager.has_failed_worker()
    self.assertTrue(failed)
    for node in worker_manager._nodes.values():
        node.exit_reason = NodeExitReason.KILLED
    failed = worker_manager.has_failed_worker()
    self.assertFalse(failed)
    wait = worker_manager.wait_worker_restart()
    self.assertTrue(wait)
    for node in worker_manager._nodes.values():
        node.relaunch_count = node.max_relaunch_count
    wait = worker_manager.wait_worker_restart()
    self.assertFalse(wait)