[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Condor-users] Variables in dag files?

Hello Todd,

>Or do you mean you just want macros in you dag submit, just like you can
>in regular submit files?  The expansion of macros is a capability of
>condor_submit, but not condor_submit_dag.  But something you could easily
>do, since condor_submit_dag just makes a submit file for condor_submit, is
>run condor_submit_dag with the -no_run option.  Then edit the resulting
>submit file, adding the use of macros to your hearts content.  :)

Thats not really the problem I have. My DAG file are something like this:

JOB G1 //server/verylongpathtoadirectory/submitscripts/G1.submit
JOB R1 //server/verylongpathtoadirectory/submitscripts/R1.submit
JOB R2 //server/verylongpathtoadirectory/submitscripts/R2.submit
JOB R3 //server/verylongpathtoadirectory/submitscripts/R3.submit
JOB R4 //server/verylongpathtoadirectory/submitscripts/R4.submit
JOB R5 //server/verylongpathtoadirectory/submitscripts/R5.submit 
JOB G6 //server/verylongpathtoadirectory/submitscripts/G6.submit
JOB R6 //server/verylongpathtoadirectory/submitscripts//R6.submit

Script PRE R1 c:\tcl\bin\tclsh.exe \\server\directory\program.tcl \\server\directory\SubmitScripts\R1.submit \\server\directory\BoundHosts\RG1.txt
Script PRE R2 c:\tcl\bin\tclsh.exe \\server\directory\program.tcl \\server\directory\SubmitScripts\R2.submit \\server\directory\BoundHosts\RG1.txt
Script PRE R3 c:\tcl\bin\tclsh.exe \\server\directory\program.tcl \\server\directory\SubmitScripts\R3.submit \\server\directory\BoundHosts\RG1.txt
Script PRE R4 c:\tcl\bin\tclsh.exe \\server\directory\program.tcl \\server\directory\SubmitScripts\R4.submit \\server\directory\BoundHosts\RG1.txt
Script PRE R5 c:\tcl\bin\tclsh.exe \\server\directory\program.tcl \\server\directory\SubmitScripts\R5.submit \\server\directory\BoundHosts\RG1.txt
Script PRE R6 c:\tcl\bin\tclsh.exe \\server\directory\program.tcl \\server\directory\SubmitScripts\R6.submit \\server\directory\BoundHosts\RG2.txt


So I thought that I could simply it like this:

path = "//server/verylongpathtoadirectory/submitscripts"
tcl = "c:\tcl\bin\tclsh.exe"
tclScript = "\\server\directory\program.tcl"

JOB G1 $path/G1.submit
JOB R1 $path/R1.submit
JOB R2 $path/R2.submit
JOB R3 $path/R3.submit
JOB R4 $path/R4.submit
JOB R5 $path/R5.submit 
JOB G6 $path/G6.submit
JOB R6 $path/R6.submit

Script PRE R1 $tcl $tclScript $path\SubmitScripts\R1.submit $path\BoundHosts\RG1.txt
Script PRE R2 $tcl $tclScript $path\SubmitScripts\R2.submit $path\BoundHosts\RG1.txt
Script PRE R3 $tcl $tclScript $path\SubmitScripts\R3.submit $path\BoundHosts\RG1.txt

The current DAG files I use are between 100k and 500k and 80% of the data is redundant.
It is not really a problem, but using varibles would make the files much more readable to read and debug.
Of course the example is a very truncated version, most of the arguments are 2-3 "lines" long (when wrapped).

Anyway, thanks for your advice.
BTW is there an undocumented switch or trick for the condor_submit_dag command to keep the completed 
scheduler job in the queue? I know I can modify the dag submit file after writing and submit it by hand but a flag would be nice..