Пример #1
0
 def run_cmd(cmd_set):
     success = True
     for _, name, cmd, workdir, stdout, stderr, depend in cmd_set:
         logging.info(cmd)
         success = run_cmd(
             cmd, workdir=workdir, stdout=stdout, stderr=stderr) and success
     return success
Пример #2
0
 def view(job_id):
     if not HpcJobManager.check_env():
         return False
     # State                            : Running
     text = run_cmd(f"job view {job_id}", fetch_console=True)
     state = "UNKNOWN"
     for line in text.split("\n"):
         line = line.strip()
         m = re.match(r"State\s+:\s*(\w+)", line)
         if m:
             state = m.group(1)
     return HpcJobState(state)
Пример #3
0
    def new(**kwargs):
        if not HpcJobManager.check_env():
            return False

        def _parse_job_id(text: str) -> int:
            """
            parse the job id from the job new command's output, eg: Created job, ID: 190707

            :param text: the output of `job new` command
            :return: the job id
            """
            try:
                return int(text.split()[3])
            except ValueError as _:
                return 0

        cmd = f"job new {HpcJobManager.__filter_params(HpcJobManager.JOB_NEW_ARGS, kwargs)}"

        out_text = run_cmd(cmd, fetch_console=True)
        return _parse_job_id(out_text)
Пример #4
0
 def modify(job_id, **kwargs):
     if not HpcJobManager.check_env():
         return False
     cmd = f"job modify {job_id} {HpcJobManager.__filter_params(HpcJobManager.JOB_MODIFY_ARGS, kwargs)}"
     run_cmd(cmd)
Пример #5
0
 def submit(job_id, **kwargs):
     if not HpcJobManager.check_env():
         return False
     cmd = f"job submit /id:{job_id} {HpcJobManager.__filter_params(HpcJobManager.JOB_SUBMIT_ARGS, kwargs)}"
     run_cmd(cmd)
Пример #6
0
 def add(job_id, command, **kwargs):
     if not HpcJobManager.check_env() or command is None or job_id is None:
         return False
     cmd = f"job add {job_id} {HpcJobManager.__filter_params(HpcJobManager.JOB_ADD_ARGS, kwargs)} {command}"
     run_cmd(cmd)
     return True