ecFlow's documentation is now on readthedocs!

Autocancel is a way to automatically delete a node that has completed. The deletion may be delayed by an amount of time in hours and minutes or expression in days. This will help the 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 the user would use:

ecflow_client –-delete=/path/to/node/with/autocancel


This means the deleted nodes if used to trigger other nodes, may leave a node to wait for 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 of 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


This means that if there are other tasks dependent on 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