blob: c0f6501949dc0c5d9717e3c95ab6ad7bae620a9c [file] [log] [blame]
# HTCondor job submission script generated by Apache Airavata
<%
def checkCommand = {items, prefix -> for (it in items) if (it.startsWith(prefix)) return it}
if (executablePath != null && executablePath != "") out.print 'executable = ' + executablePath + '\n'
if (inputs != null && inputs.size() > 0) out.print 'arguments = \"'
if (inputs != null && inputs.size() > 0) for(input in inputs) out.print input + ' '
if (inputs != null && inputs.size() > 0) out.print '\"\n'
if (exports != null && exports.size() > 0) out.print 'environment = '
if (exports != null && exports.size() > 0) for(com in exports) out.print com + ';'
if (exports != null && exports.size() > 0) out.print '\n'
if (qualityOfService != null && qualityOfService != "") out.print 'priority = ' + qualityOfService + '\n'
if (cpuCount != null && cpuCount != "") out.print 'request_cpus = ' + cpuCount + '\n'
if (usedMem != null && usedMem != "") out.print 'request_memory = ' + usedMem + '\n'
if (mailAddress != null && mailAddress != "") out.print 'notification = Always\nnotify_user = ' + mailAddress + '\n'
if (workingDirectory != null && workingDirectory != "") out.print 'initialdir = ' + workingDirectory + '\n'
if (standardOutFile != null && standardOutFile != "") out.print 'output = ' + standardOutFile + '\n'
if (standardErrorFile != null && standardErrorFile != "") out.print 'error = ' + standardErrorFile + '\n'
out.print 'should_transfer_files = Yes\nwhen_to_transfer_output = ON_EXIT\n'
if (inputFiles != null && inputFiles.size() > 0) out.print 'transfer_input_files = '
if (inputFiles != null && inputFiles.size() > 0) for(file in inputFiles) out.print file + ', '
def preJobInputs = checkCommand(preJobCommands, 'transfer_input_files =')
if (preJobInputs) out.print preJobInputs.substring(22)
if (inputFiles != null && inputFiles.size() > 0) out.print '\n'
if (moduleCommands != null) for(mc in moduleCommands) out.print mc +'\n'
if (preJobCommands != null) for(pjc in preJobCommands) if (!pjc.startsWith("transfer_input_files =")) out.print pjc +'\n'
out.print 'queue\n'
if (postJobCommands != null) for(pjc in postJobCommands) out.print pjc +'\n'
%>