Pavilion Job Objects
Table of Contents
pavilion.jobs module
Jobs encapsulate a scheduler job, tying together everything used to start said job, the job id, and the tests being run in that job.
- class pavilion.jobs.Job(path: Path)
Bases:
object
Encapsulate a scheduler job.
- INFO_FN = 'info'
- KICKOFF_FN = 'kickoff'
- KICKOFF_LOG_FN = 'kickoff.log'
- NODE_INFO_FN = 'node_info.pkl'
- SCHED_LOG_FN = 'sched.log'
- TESTS_DIR = 'tests'
- get_test_id_pairs() List[ID_Pair]
Return the test objects for each test that’s part of this job. Only tests that still exist are returned.
- property info: Optional[JobInfo]
Return (and load, if necessary), the job id.
- load_sched_data() Nodes
Load the scheduler data that was saved from the kickoff time.
- classmethod new(pav_cfg, tests: list, kickoff_fn: Optional[str] = None)
Create a new job directory, and return the Job instance.
- safe_delete(force: bool = False)
Delete the job directory, but only if all related tests are deleted.
- Parameters
force – Delete the job directory regardless of the existence of tests.
- save_node_data(nodes: Nodes)
Save node information (from kickoff time) for the given test.
- set_kickoff(kickoff_name: Optional[str] = None)
Set the name for the kickoff script to the one given, This will also create a symlink to this file via the default kickoff name.
If no name is given, then the name will be the default, and the actual file result in the link location.
- exception pavilion.jobs.JobError
Bases:
RuntimeError
Raised when there’s a problem with a Job directory.
- pavilion.jobs.JobInfo
Scheduler defined job info dict. Keys are dependent on the specific scheduler plugin. All data added should be json serializable.
alias of
Dict
[str
,str
]