Source code for dpp.helper_relaunch

import logging

from vcstools.job_submit import submit_slurm
from dpp.helper_config import dump_to_yaml

logger = logging.getLogger(__name__)


[docs]def launch_label(cfg): """Returns a label based on how far the piepline has progressed""" order = ["Initial", "Classify", "Post", "Upload", "Debase", "RM", "RVM_initial", "RVM_final", "Finish"] counter = sum(cfg["completed"].values()) # Number of True statements return order[counter]
[docs]def relaunch_ppp(cfg, depends_on=None, depend_type="afterany", fresh_run=False, reset_logs=False, time="00:30:00"): """Relaunches the pulsar processing pipeline using the supplied cfg file""" # Dump the new cfg dump_to_yaml(cfg) label = launch_label(cfg) name = f"ppp_{label}_{cfg['files']['file_precursor']}" slurm_kwargs = {"time": time} mem=8192 ppp_launch = "pulsar_processing_pipeline.py" ppp_launch += f" --cfg {cfg['files']['my_name']}" if fresh_run: ppp_launch += " --fresh_run" if reset_logs: ppp_launch += " --reset_logs" cmds = [f"cd {cfg['files']['psr_dir']}"] cmds.append(ppp_launch) modules = [f"mwa_search/{cfg['run_ops']['mwa_search']}", "singularity"] jid = submit_slurm(name, cmds, slurm_kwargs=slurm_kwargs, module_list=modules, mem=mem, batch_dir=cfg["files"]["batch_dir"], depend=depends_on, depend_type=depend_type, vcstools_version=cfg["run_ops"]["vcstools"], submit=True) logger.info(f"Submitted relaunch of ppp: {name}") logger.info(f"job ID: {jid}") if depends_on: logger.info(f"Job depends on job id(s): {depends_on}")