def complete_job( jobid=None, dbpath=None, ): """Mark the job as 'Complete' if possible Arguments: dbpath: Path to JobDB database. If not given, use default database (see JobDB().__init__) jobid: jobid str of job to mark 'Complete'. If not given, uses current job id from the environment variable 'PBS_JOBID' """ db = JobDB(dbpath) #pylint: disable=invalid-name if db.config["software"] == "torque": # import misc_torque as misc_pbs #pylint: disable=redefined-outer-name misc_pbs = __import__("pbs.misc_torque", globals(), locals(), [], -1).misc_torque elif db.config["software"] == "slurm": # import misc_slurm as misc # import misc_torque as misc_pbs #pylint: disable=redefined-outer-name misc_pbs = __import__("pbs.misc_slurm", globals(), locals(), [], -1).misc_slurm else: # import misc_torque as misc_pbs #pylint: disable=redefined-outer-name misc_pbs = __import__("pbs.misc_torque", globals(), locals(), [], -1).misc_torque if jobid is None: jobid = misc_pbs.job_id() if jobid is None: raise misc.PBSError(0, "Could not determine jobid") try: job = db.select_job(jobid) #pylint: disable=unused-variable except JobDBError as e: #pylint: disable=invalid-name raise e try: db.complete_job(jobid) except EligibilityError as e: #pylint: disable=invalid-name raise e db.close()
def error_job(message, jobid=None, dbpath=None): """Mark the job as 'Complete' if possible Arguments: dbpath: Path to JobDB database. If not given, use default database (see JobDB().__init__) jobid: jobid str of job to mark 'Complete'. If not given, uses current job id from the environment variable 'PBS_JOBID' """ db = JobDB(dbpath) #pylint: disable=invalid-name if jobid is None: jobid = misc_pbs.job_id() if jobid is None: raise misc.PBSError(0, "Could not determine jobid") try: job = db.select_job(jobid) except JobDBError as e: #pylint: disable=invalid-name raise e db.error_job(message, job=job) db.close()