from typing import List, Optional, Dict, Mapping, TYPE_CHECKING, Any if TYPE_CHECKING: from mephisto.abstractions.database import MephistoDB from mephisto.data_model.assignment import Assignment from mephisto.abstractions.blueprint import Blueprint, SharedTaskState from mephisto.data_model.worker import Worker from mephisto.data_model.unit import Unit from mephisto.abstractions.crowd_provider import CrowdProvider from mephisto.data_model.task import Task from omegaconf import DictConfig from mephisto.operations.logger_core import get_logger logger = get_logger(name=__name__) class TaskRun(metaclass=MephistoDBBackedMeta): """ This class tracks an individual run of a specific task, and handles state management for the set of assignments within """ def __init__( self, db: "MephistoDB", db_id: str, row: Optional[Mapping[str, Any]] = None ): self.db: "MephistoDB" = db if row is None: row = db.get_task_run(db_id) assert row is not None, f"Given db_id {db_id} did not exist in given db"
from mephisto.data_model.requester import Requester from mephisto.abstractions.blueprint import OnboardingRequired, SharedTaskState from mephisto.abstractions.database import MephistoDB, EntryDoesNotExistException from mephisto.data_model.qualification import make_qualification_dict, QUAL_NOT_EXIST from mephisto.operations.task_launcher import TaskLauncher from mephisto.operations.registry import ( get_blueprint_from_type, get_crowd_provider_from_type, get_architect_from_type, ) from mephisto.operations.utils import get_mock_requester from mephisto.operations.logger_core import get_logger from omegaconf import DictConfig, OmegaConf logger = get_logger(name=__name__, verbose=True, level="info") if TYPE_CHECKING: from mephisto.data_model.agent import Agent from mephisto.abstractions.blueprint import Blueprint, TaskRunner from mephisto.abstractions.crowd_provider import CrowdProvider from mephisto.abstractions.architect import Architect from argparse import Namespace class TrackedRun(NamedTuple): task_run: TaskRun architect: "Architect" task_runner: "TaskRunner" task_launcher: TaskLauncher job: Job