- 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      = nfs27: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)
