ecFlow's documentation is now on readthedocs!

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Autocancel is a way to automatically delete a node which has completed. The deletion may be delayed by an amount of time in hours and minutes or expression in days. This will help maintenance of living suites. Notice that, if the suite is repeated and part of it is cancelled, that part will obviously not be run.
The node deletion is never immediate. The nodes are checked once a minute (by default) and expired autocancel-nodes are deleted.
Any node can have autocancel statement like:

autocancel +00:10 # Cancel 10 minutes later 
autocancel 0 # Cancel immediately 
autocancel 3 # Cancel three days later


The effect of autocancel is the same as if user would use:

ecflow_client –-delete


This means the deleted nodes, if used to trigger other nodes, may leave a node to wait the (now missing) node. To solve this problem use a trigger like:

task t
   trigger node_name==complete or node_name==unknown

It is best not to use autocancelled nodes in the triggers.

Using Autocancel

Sometimes you may want to have a suite in which you incrementally add things and once these parts have served their purpose you want to dispose them.
autocancel is a way of automatically removing these families. Nodes with this property defined will be automatically removed by ecFlow once they become complete and the time defined has elapsed.

suite x
   family fam
      autocancel +05:00
      task t
   endfamily
endsuite


In this example family fam will be removed from the suite once it has been complete for more than five hours.
This is equivalent to the user issuing the CLI command

ecflow_client –-delete=/x/fam


Which means that if there are other tasks dependent of fam or its children their triggers may never allow them to run. To guard against such situations you can use triggers that allow other nodes to disappear or that not been defined at all. This is done by using the status value unknown for undefined nodes.

 suite x
    family fam
       autocancel +05:00
       task t
    endfamily
    family ff
       trigger fam==complete or fam==unknown
  • No labels