def discover_new_runs(denied_runs, conf): """Discover new runs. Arguments: conf: configuration object """ # # Discover new run # run_already_discovered = load_processed_run_ids(conf) if common.is_conf_value_equals_true(FIRST_BASE_REPORT_STEP_KEY, conf): for run_id in (get_available_new_run_ids(conf) - run_already_discovered - denied_runs): aozan.welcome(conf) common.log('INFO', 'First base report ' + run_id + ' on sequencer ' + common.get_instrument_name(run_id, conf), conf) if send_report(run_id, conf): add_run_id_to_processed_run_ids(run_id, conf) run_already_discovered.add(run_id) # Verify space needed during the first base report estimate_space_needed.estimate(run_id, conf)
def discover_finished_runs(denied_runs, conf): """Discover new ended runs Arguments: conf: configuration object """ run_ids_done = load_processed_run_ids(conf) if common.is_conf_value_equals_true(HISEQ_STEP_KEY, conf): for run_id in (get_available_finished_run_ids(conf) - run_ids_done - denied_runs): if run_id is None or len(run_id) == 0: # No run id found return [] aozan.welcome(conf) common.log('INFO', 'Ending run detection ' + str(run_id) + ' on ' + common.get_instrument_name(run_id, conf), conf) if hiseq_run.get_read_count(run_id, conf) == 0: send_failed_run_message(run_id, common.MAX_DELAY_TO_SEND_TERMINATED_RUN_EMAIL, conf) add_run_id_to_denied_run_ids(run_id, conf) create_run_summary_reports(run_id, conf) else: if create_run_summary_reports(run_id, conf): send_mail_if_recent_run(run_id, common.MAX_DELAY_TO_SEND_TERMINATED_RUN_EMAIL, conf) add_run_id_to_processed_run_ids(run_id, conf) run_ids_done.add(run_id) return run_ids_done