Hi Wei,
Yes, Condor 7.2.2 is recent enough to use the $$([ ... ]) ClassAd
_expression_ syntax in the way that was suggested.
Here's one way to get 6-digit numbers of equal length with leading zeros:
Arguments =
"$$([substr(strcat(string(0),string(0),string(0),string(0),string(0),string(0),string($(Process))),-6)])"
This produces the sequence
000000
000001
000002
...
To my surprise, the following somewhat simpler _expression_ did not work:
Arguments = "$$([substr(strcat(""000000"",string($(Process))),-6)])"
It seems that double quotes are not correctly handled inside of $$([ ...
]) expressions.
--Dan
Wei Wang wrote:
> Hi Alan and David,
>
> Thanks for the suggestions. David's suggestion works for our Condor
> cluster. However, how "recent" is recent enough for Alan's scripts?
> Our Condor is version 7.2.2. Could there be another way (more general)
> of forming these number strings that have equal length?
>
> Thanks!
>
> --- Wei
>
> On Thu, Apr 9, 2009 at 5:24 AM, Alan Woodland <
alan.woodland@xxxxxxxxx
> <mailto:brodbd@xxxxxxxxxxxxxxxx>>:
> >
> > On Apr 8, 2009, at 4:23 PM, Wei Wang wrote:
> >
> >> Hi, dear Condor-users,
> >>
> >> Is it possible to do looping inside a Condor job description file?
> >> Here is logic of describing what I want to do:
> >>
> >> ......
> >> Arguments = $(parameter)
> >> ......
> >> DO i = 1, N
> >> parameter = i
> >> queue
> >> ENDDO
> >>
> >> So I can submit N jobs without the trouble of using Shell/Perl/
> >> Python to generate N different files then use condor_submit N
> times.
> >>
> >> Thanks!
> >
> > How about:
> >
> > ....
> > Arguments = $(Process)
> > ....
> > Queue N
> >
> > $(Process) starts at 0 and increments as each job is queued.
> >
> Or with recent versions this trick works:
>
> Arguments = $$([$(Process) + 100])
>
> Would cause the arguments to start at 100 instead of 0.
>
> Alan