Source code for jade.jobs.job_parameters_interface

"""Defines interface for all job parameters."""

import abc


[docs] class JobParametersInterface(abc.ABC): """Job Parameters interface definition.""" DELIMITER = "__" @property @abc.abstractmethod def estimated_run_minutes(self): """Return the estimated execution time or None if it isn't known. Returns ------- float | None """ @property @abc.abstractmethod def extension(self): """Return the extension name. Returns ------- str """ @property @abc.abstractmethod def name(self): """Return the job name. The job name must be unique in a configuration and must be usable as a directory or file name on any filesystem. Returns ------- str """
[docs] @abc.abstractmethod def serialize(self): """Serialize data to a dictionary. Returns ------- dict """
[docs] @classmethod @abc.abstractmethod def deserialize(cls, data): """Deserialize parameters from a dictionary. Parameters ---------- data : dict Returns ------- JobParametersInterface """
[docs] @abc.abstractmethod def get_blocking_jobs(self): """Return the job names blocking this job. Returns ------- set Empty set means that the job is not blocked. """
[docs] @abc.abstractmethod def remove_blocking_job(self, name): """Remove the name from the job's blocking list. Parameters ---------- name : str name of job that is now finished """
[docs] @abc.abstractmethod def set_blocking_jobs(self, blocking_jobs): """Set the blocking jobs. Parameters ---------- blocking_jobs : set """
@property @abc.abstractmethod def cancel_on_blocking_job_failure(self): """Return False if the job should be canceled if any blocking job fails. Returns ------- bool """ @property @abc.abstractmethod def submission_group(self): """Return the submission group for the job.""" @submission_group.setter @abc.abstractmethod def submission_group(self, group): """Set the submission group for the job. Parameters ---------- group : SubmissionGroup """
[docs] def is_spark_job(self): """Return True if the job is a Spark job. Returns ------- bool """ return False