[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