Source code for paircars.pipeline.kill_job

import argparse
import sys
from paircars.utils.proc_manage_utils import get_scheduler_name
from paircars.utils.logger_utils import SmartDefaultsHelpFormatter
from paircars.utils.killjob_utils import (
    kill_localscheduler,
    kill_slurmscheduler,
)


[docs] def kill_paircarsjob(): """ Gracefully terminate all processes related to a P-AIRCARS job. """ parser = argparse.ArgumentParser( description="Kill P-AIRCARS Job", formatter_class=SmartDefaultsHelpFormatter ) parser.add_argument( "--jobid", type=str, required=True, help="P-AIRCARS Job ID to kill" ) if len(sys.argv) == 1: parser.print_help(sys.stderr) sys.exit(1) args = parser.parse_args() scheduler_name = get_scheduler_name() if scheduler_name == "local": kill_localscheduler(args.jobid) elif scheduler_name == "slurm": kill_slurmscheduler(args.jobid)
if __name__ == "__main__": kill_paircarsjob()