class_docstr: Managing class for the acute evaluator process.
  
  Relevant args are parsed in the `setup_args` function above.
class_docstr_tok: ["Managing","class","for","the","acute","evaluator","process",".","Relevant","args","are","parsed","in","the","`","setup_args","`","function","above","."]
docstr: An incomplete task needs to have the contents of that task requeued into the
  overall task queue.
docstr_tok: ["An","incomplete","task","needs","to","have","the","contents","of","that","task","requeued","into","the","overall","task","queue","."]
code: def cleanup_unit(self, unit: "Unit") -> None:
      """
      An incomplete task needs to have the contents of that task requeued into the
      overall task queue.
      """
      logger.info(f"Cleaning up unit {unit.db_id}")
      if unit.db_id not in self.unit_agent_map:
          return logger.warning(
              f"Unit {unit.db_id} already appears to have been cleaned up"
          )
      worker_id, task_data = self.unit_agent_map[unit.db_id]
      del self.unit_agent_map[unit.db_id]
      self.requeue_task_data(worker_id, task_data)
  
imports: import json
  import queue
  import random
  from typing import List, Any, Dict, Tuple, Set, TYPE_CHECKING
  from mephisto.utils.logger_core import get_logger
  from mephisto.abstractions.blueprint import SharedTaskState, TaskRunner
  from omegaconf import DictConfig
label_desc: Use image node_id 15 for calling the AcuteEvalRunner obj's underlying member method code with example usage: obj.cleanup_unit(unit) and returns: logger