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: Static runners will get the task data, send it to the user, then wait for the
  agent to submit (the data to be completed)
docstr_tok: ["Static","runners","will","get","the","task","data",",","send","it","to","the","user",",","then","wait","for","the","agent","to","submit","(","the","data","to","be","completed",")"]
code: def run_unit(self, unit: "Unit", agent: "Agent") -> None:
      """
      Static runners will get the task data, send it to the user, then wait for the
      agent to submit (the data to be completed)
      """
      # Frontend implicitly asks for the initialization data, so we just need
      # to wait for a response
      _ = agent.await_submit(
          timeout=self.assignment_duration_in_seconds
      )
      if self.args.blueprint.block_on_onboarding_fail:
          # check whether workers failed onboarding
          self.check_and_update_worker_approval(agent)
      logger.info(f"Acute eval done for {agent}")
  
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 14 for calling the AcuteEvalRunner obj's underlying member method code with example usage: obj.run_unit(unit, agent) without return types