class_docstr: Used by the benchmark runner to track outstanding jobs.
  This class handles bookkeeping and timeout + retry logic.
class_docstr_tok: ["Used","by","the","benchmark","runner","to","track","outstanding","jobs",".","This","class","handles","bookkeeping","and","timeout","+","retry","logic","."]
code: def __init__(self, work_order: WorkOrder, cpu_list: Optional[str]):
      self._work_order = work_order
      self._proc = _BenchmarkProcess(work_order, cpu_list)
  
imports: import dataclasses
  import json
  import os
  import pickle
  import signal
  import subprocess
  import time
  import uuid
  from typing import List, Optional, TYPE_CHECKING, Union
  from core.api import AutoLabels
  from core.types import Label
  from core.utils import get_temp_dir
  from worker.main import WORKER_PATH, WorkerFailure, WorkerOutput, WorkerTimerArgs, WorkerUnpickler
label_desc: Use image node_id 1 to create a new InProgress object  with example: obj = InProgress(work_order, cpu_list)