[Bioperl-pipeline] RE:General questions
Wiepert, Mathieu
Wiepert.Mathieu@mayo.edu
Fri, 6 Sep 2002 08:02:00 -0500
>
> Mathieu,
>
> very interesting problem that I hadn't thought about. We
> should definitely
> be able to rsh the command across, what we probably need is
> runnable-wrapper that would enable it or a run_remote command on the
> Runnable
This is good! One thing I noticed was a problem I had with rsh. Probably I can invoke it different, but this was a hack that worked.
When I do the blasts, the rsh returns right away, though obviously the blast did not finish, it is just happily running.
I had something threaded, and the children ran blast like:
system("rsh $clusternode blastall -p $program -i $inseqfile -d $database -o $outfile -e $evalue");
and then died. If I didn't do the system, then when the child went away, rsh hung the process. I don't really know what was happening, I just know that the blasts never finished, and I had to write a "zapall" program to clean up my mess of zombie processes on all the nodes.
And then when all the blasts are farmed out, I started a loop and just did:
open (CMD, "rsh $testNode ps -uwx | grep blastall|");
my $answer=<CMD>;
close CMD;
if (defined $answer) {
print STDOUT "$answer\n";
print LOG "$answer\n";
$ablast = 1;
}
This whole thing is a hack, I am sure there is a better way. But, do you think that this sort of thing is a problem for us?
-Mat