| # 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' |
| %> |