def __init__(self, input_file, task_name, threads=1, keep=False, package_mode=False, dependency_solver=False, skip_check_disk=False): """ Initializes JobDispatcher with user specified input and starts work. If `threads` is specified, JobDispatcher will dispatch jobs to be reproduced in each thread. Otherwise, each job will be reproduced sequentially. """ log.info('Initializing job dispatcher.') self.input_file = input_file self.thread_num = threads self.keep = keep self.package_mode = package_mode self.dependency_solver = dependency_solver # ----- self.config = Config(task_name) self.config.skip_check_disk = skip_check_disk self.utils = Utils(self.config) self.items_processed = Value('i', 0) self.reproduce_err = Value('i', 0) self.job_time_acc = 0 self.start_time = time.time() self.docker = DockerWrapper(self.utils) self.docker_storage_path = self.docker.setup_docker_storage_path() self.terminate = Value('i', 0) self.manager = Manager() self.lock = Lock() self.workspace_locks = self.manager.dict() self.cloned_repos = self.manager.dict() self.threads = {} self.error_reasons = {} self.alive_threads = 0 self.travis_images = None self.job_center = PairCenter(self.input_file, self.utils, self.package_mode)
def __init__(self, input_file, runs, task_name): log.info('Initializing ReproducedResultsAnalyzer.') self.input_file = input_file self.runs = runs self.config = Config(task_name) self.utils = Utils(self.config) self.analyzer = analyzer.Analyzer() # Initializing pair_center should not be in _pre_analyze because we want the pairs to maintain state between # analyzing each run. self.pair_center = PairCenter(input_file, self.utils) # The below attributes are initialized in _pre_analyze. self.start_time = None self.reproduced_logs = None self.reproduced_logs_analyzed = None self.error_count = None
def __init__(self, input_file, csv_mode=False): self.input_file = input_file self.csv_mode = csv_mode self.task = str(os.path.splitext(input_file)[0].split('/')[-1]) self.config = Config(self.task) self.utils = Utils(self.config)
def __init__(self, task_name): log.info('Initializing ArtifactLogAdder.') self.config = Config(task_name) self.utils = Utils(self.config) self.task = task_name