[kepler-users] Using outfileHandle and infileHandle of Command Line Exec

Derek Kivi djkivi at ucalgary.ca
Fri Nov 23 09:32:50 PST 2007


Hello,

I am trying to create a workflow using Kepler where we will be calling 
external executables and want to take the output file of one executable 
and pass it as the input file of another executable. I have attached a 
PNG file showing a small example workflow.

The two programs called in this example are perl programs program1.pl 
and program2.pl shown below. The first program will print a few lines to 
  output and the second program will read from input and just print out 
the lines it reads.

program1.pl
----
#!/usr/bin/perl

print "test1\n";
print "test2\n";
print "test3";

program2.pl
----
#!/usr/bin/perl

while (<STDIN>) {
     print;
}


In my workflow, I specify an outputFile for the first Command Line Exec 
and when I run the workflow, I see the three lines printed out to that 
output file like I expect. However, I had a lot of trouble getting any 
output to the Display actor from the second Command Line Exec.

Eventually I set the firingCountLimit for the String Constant to 10 and 
I finally got some output to the Display. However, it was inconsistent 
what I would get from workflow run to workflow run. I would get 2, 3, or 
4 copies of the output lines displayed such as

test1
test2
test3

test1
test2
test3

but I never got 10 copies like I would expect and with the 
firingCountLimit at 1, I never saw any output at all.

Does anybody know what I am doing wrong or is there some kind of problem 
with the command line exec actor?

Thanks,
Derek Kivi
Grid Research Centre
University of Calgary
-------------- next part --------------
A non-text attachment was scrubbed...
Name: workflow.png
Type: image/png
Size: 43596 bytes
Desc: not available
URL: <http://lists.nceas.ucsb.edu/kepler/pipermail/kepler-users/attachments/20071123/6d7100c9/attachment.png>


More information about the Kepler-users mailing list