prisms_jobs.Job¶
-
class
prisms_jobs.Job(name='STDIN', account=None, nodes=None, ppn=None, walltime=None, pmem=None, qos=None, queue=None, exetime=None, message='a', email=None, priority='0', constraint=None, command=None, auto=False, substr=None)[source]¶ Bases:
objectRepresents a computational job
Initialize either with all the parameters, or with ‘substr’ a submit script as a string. If ‘substr’ is given, all other arguments are ignored.
Parameters: - substr (str) – A submit script as a string.
- name (str) –
Job name. Ex:
"myjob-0"The name specified may be up to and including 15 characters in length. It must consist of printable, non white space characters with the first character alphabetic.
- account (str) – Account name. Ex:
"prismsproject_fluxoe" - nodes (int) – Number of nodes. Ex: 2
- ppn (int) – Processors per node. Ex: 16
- walltime (str) – Walltime (
HH:MM:SS). Ex:"10:00:00" - pmem (str) – Memory requsted. Ex:
"3800mb" - qos (str) – Ex:
"flux" - queue (str) – Ex:
"fluxoe" - exetime (str) –
Time after which the job is eligible for execution. Ex:
"1100"Has the form:
[[[[CC]YY]MM]DD]hhmm[.SS]Create usingprisms_jobs.misc.exetime(deltatime), where deltatime is a[[[DD:]MM:]HH:]SSstring. - message (str) –
When to send email about the job. Ex:
"abe"The mail_options argument is a string which consists of either the single character
"n", or one or more of the characters"a","b", and"e".If the character
"n"is specified, no normal mail is sent. Mail for job cancels and other events outside of normal job processing are still sent.For the letters
"a","b", and"e":a mail is sent when the job is aborted by the batch system. b mail is sent when the job begins execution. e mail is sent when the job terminates. - email (str) –
Where to send notifications. Ex:
"jdoe@umich.edu"The email string is of the form:
user[@host][,user[@host],...] - priority (str) – Priority ranges from (low) -1024 to (high) 1023. Ex:
"-200" - command (str) – String with command to run by script. Ex:
"echo "hello" > test.txt" - auto (bool, optional, Default=False) –
Indicates an automatically re-submitting job. Ex:
TrueOnly set to True if the command uses this prisms_jobs module to set itself as completed when it is completed. Otherwise, you may submit it extra times leading to wasted resources and overwritten data.
-
name¶ Job name. Ex:
"myjob-0"Type: str
-
account¶ Account name. Ex:
"prismsproject_fluxoe"Type: str
-
nodes¶ Number of nodes. Ex: 2
Type: int
-
ppn¶ Processors per node. Ex: 16
Type: int
-
walltime¶ Walltime (
HH:MM:SS). Ex:"10:00:00"Type: str
-
pmem¶ Memory requsted. Ex:
"3800mb"Type: str
-
qos¶ Ex:
"flux"Type: str
-
queue¶ Ex:
"fluxoe"Type: str
-
exetime¶ Time after which the job is eligible for execution. Ex:
"1100"Type: str
-
message¶ When to send email about the job. Ex:
"abe"Type: str
-
email¶ Where to send notifications. Ex:
"jdoe@umich.edu"Type: str
-
priority¶ Priority ranges from (low) -1024 to (high) 1023. Ex:
"-200"Type: str
-
constraint¶ Constraint. Ex:
"haswell"Type: str
-
command¶ String with command to run by script. Ex:
"echo "hello" > test.txt"Type: str
-
auto¶ Indicates an automatically re-submitting job. Ex:
TrueType: bool
-
__init__(name='STDIN', account=None, nodes=None, ppn=None, walltime=None, pmem=None, qos=None, queue=None, exetime=None, message='a', email=None, priority='0', constraint=None, command=None, auto=False, substr=None)[source]¶ Initialize self. See help(type(self)) for accurate signature.
Methods
__init__([name, account, nodes, ppn, …])Initialize self. read(qsubstr)Set this Job object from string representing a submit script appropriate for the config.software(). script([filename])Write this Job as a bash script sub_string()Output Job as a string suitable for prisms_jobs.config.software() submit([add, dbpath])Submit this Job using the appropriate command for prisms_jobs.config.software(). -
read(qsubstr)[source]¶ Set this Job object from string representing a submit script appropriate for the config.software().
Parameters: qsubstr (str) – A submit script as a string
-
script(filename='submit.sh')[source]¶ Write this Job as a bash script
Parameters: filename (str) – Name of the script. Ex: “submit.sh”
-
submit(add=True, dbpath=None)[source]¶ Submit this Job using the appropriate command for prisms_jobs.config.software().
Parameters: - add (bool) – Should this job be added to the JobDB database?
- dbpath (str) – Specify a non-default JobDB database
Raises: prisms_jobs.JobsError– If error submitting the job.