S
Stephen Greenwood
Guest
I often run a parametric analysis, then select the results immediately
afterward, like this:
....
paramRun()
selectResult( 'tran )
....
In local hostmode, this works fine. The paramRun() function does not
return until the run is over, and then the script moves on to the
selectResult() command.
Recently I tried to modify some of my scripts to utilize distributed
hostmode. The corresponding commands look something like this:
....
paramRun(?jobName myJobName ?queue "myQueueName" ?lsfResourceStr
"rusage[mem=1024]")
selectResult( 'tran )
....
The structure is identical except that paramRun() needs arguments.
Unfortunately I find that the paramRun() function returns immediately
after it has submitted the jobs. It does not wait until the jobs are
completed, and moves directly on to the selectResult() call.
Naturally, it fails because there's nothing there yet. Does anyone
know how to force the paramRun() command to wait until the jobs are
finished, as it does by default in local mode?
I looked through all the paramRun() options in the manual, and I don't
see anything related to this. I'm using v5.1.41, if it matters.
Thank you,
Stephen Greenwood
P.S. In the meantime I used an obvious workaround, which was to
separate my script into two scripts, one that submits the jobs and one
that does the analysis. I simply wait until the first script is
finished and then run the second. It worked immediately. But this is
an annoying workaround, because I have to maintain certain parts of
the code in two places, which is never good.
afterward, like this:
....
paramRun()
selectResult( 'tran )
....
In local hostmode, this works fine. The paramRun() function does not
return until the run is over, and then the script moves on to the
selectResult() command.
Recently I tried to modify some of my scripts to utilize distributed
hostmode. The corresponding commands look something like this:
....
paramRun(?jobName myJobName ?queue "myQueueName" ?lsfResourceStr
"rusage[mem=1024]")
selectResult( 'tran )
....
The structure is identical except that paramRun() needs arguments.
Unfortunately I find that the paramRun() function returns immediately
after it has submitted the jobs. It does not wait until the jobs are
completed, and moves directly on to the selectResult() call.
Naturally, it fails because there's nothing there yet. Does anyone
know how to force the paramRun() command to wait until the jobs are
finished, as it does by default in local mode?
I looked through all the paramRun() options in the manual, and I don't
see anything related to this. I'm using v5.1.41, if it matters.
Thank you,
Stephen Greenwood
P.S. In the meantime I used an obvious workaround, which was to
separate my script into two scripts, one that submits the jobs and one
that does the analysis. I simply wait until the first script is
finished and then run the second. It worked immediately. But this is
an annoying workaround, because I have to maintain certain parts of
the code in two places, which is never good.