- Home
- /
- Documentation
- /
- Job Submission
- /
- HTCondor Batch System
- /
- Job Submission File
Job Submission File
HTCondor uses the symbol # for comments. Everything written after that symbol is ignored. Therefore do not write comments and commands in the same line.
To define a variable, just choose a name (case-insensitive) and assign a value to it (e.g. N = 5, name = „example“)
To get the value of a variable, use the syntax $(varName), both the symbol $ and parentheses ( ) are mandatory.
HTCondor submission file commands
- universe – runtime enviroment; vanilla by default
- executable – the name and path of the executable to be run – mandatory
- arguments – specify options and flags for the executable
- requirements – for any special needs, e.g. specific worker nodes, specific CPU features
- getenv – assign „True“ to import shell env settings
- output – the name and path of the stdout file
- error – the name and path of the stderr file
- log – the name and path of the log file
- request_cpus – number of CPUs
- request_memory – amount of total RAM
- concurrency_limits – a limit to the number of concurrent running jobs which are using NFS servers
- notification – when to send a notification; could be set to Never, Complete, Error or Always; Never by default
- notify_user – changes the e-mail address used to send notifications
- queue – submits the job; it should be the last command – mandatory
An example of job_submission_file structure:
# ------------------------
# HTCondor Job Submission File
# ------------------------
universe = vanilla
executable = test.sh
arguments = $(ClusterID) $(ProcId)
# stdout, stderr and log files
output = output/test.$(ClusterId).$(ProcId).out
error = error/test.$(ClusterId).$(ProcId).err
log = log/test.$(ClusterId).log
# required resources
request_cpus = 1
request_memory = 5G
request_disk = 20G
+MaxRuntime = 7200
accounting_group = group_auger.user
concurrency_limits = nfs18:1
# notifications via e-mail
notification = Complete
notify_user = username@fzu.cz
queue
See man pages for more detailed information about available job_submission_file attributes
man condor_submit
To avoid rerun of your job in case of any failure add to the job_submission_file:
periodic_remove = (JobStatus == 1 && NumJobStarts > 0)