Clean output of specific components

20 views
Skip to first unread message

Foivos Gypas

unread,
Mar 21, 2014, 12:28:30 PM3/21/14
to
Is it possible to remove the output of some components (files that are genarated) while anduril is executed?

I mean, is it possible to specify which files to keep and which not (from the intermediate steps)? The problem is that we have very big files and writing takes a lot of space.

Thank you in advance

Ville Rantanen

unread,
Mar 23, 2014, 2:34:05 AM3/23/14
to andur...@googlegroups.com
inst=MyComp( input, @keep=false )  annotation will automatically delete all output ports, as soon as they are not used in the pipeline anymore.
For each port individually, there is no such annotation. It might be added in Anduril2.. 

For annotations, and other syntax issues, it's good to take a look at the test-networks in  $ANDURIL_HOME/testsystem/test-networks/. 
there are plenty of examples.

Foivos Gypas

unread,
Mar 25, 2014, 3:19:00 PM3/25/14
to andur...@googlegroups.com
Thanks for your reply.

Well it could be useful if there was for each port individually.

I will take a look at the test-networks.


Ville Rantanen

unread,
Mar 28, 2014, 2:09:34 AM3/28/14
to andur...@googlegroups.com

There is a dirty trick that can achieve the effect, if needed right now.   It's dirty, because in Anduril, you shouldn't edit files in upstream components.


random = Randomizer( columns=5, rows=3 )

comp1
= CSVJoin( random )

remover
= StandardProcess(arg1=random, command="cp /dev/null @arg1@", @bind=comp1)

The last component copies an empty file in place of the output of random.  
  • The output port file must exist, otherwise Anduril will re-run random again on the next run, but it can be empty! 
  • @bind annotation makes sure the file is emptied only after it is used by another component.
If doing so, you must be very careful, to which component the remover is bound.
Reply all
Reply to author
Forward
0 new messages