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 15 Next »

Auto Archive

This will write portion of the definition to disk and restore on re-queue/begin

This helps in coping with extra large suites.

Archives suite or family nodes *IF* they have child nodes(otherwise does nothing).

Saves the suite/family nodes to disk, and then removes the child nodes from the definition

This saves memory in the server, when dealing with huge definitions that are not needed.

 It improves time taken to checkpoint and reduces network bandwidth

 If the node is re-queued or begun, the child nodes are automatically restored

Use  ecflow_client --restore to reload the archived nodes manually

Care must be taken if you have trigger reference to the archived nodes

The nodes are saved to ECF_HOME/<host>.<port>.ECF_NAME.check, where '/' has been replaced with ':' in ECF_NAME

It should be noted that trigger expressions can determine if a node has been archived using <flag>archived. See the example below.


Usage

  • ecflow_client --archive=/s1                       # archive suite s1
  • ecflow_client --archive=/s1/f1 /s2            # archive family /s1/f1 and suite /s2
  • ecflow_client --archive=force /s1 /s2      # archive suites /s1,/s2 even if they have active tasks


 suite s
  family f1
    autoarchive +01:00 # archive one hour after complete
  endfamily
  family f2
     autoarchive 01:00 # archive at 1 am in morning after complete
  endfamily
  family f3
    autoarchive 10     # archive 10 days after complete
  endfamily
  family f4
    autoarchive 0      # archive immediately after complete, can take up to a minute
  endfamily
  family restore
    task res
       trigger /s/f1<flag>archived   # if node /s1/f1 has been archived, restore it.
       autorestore /s/f1
endsuite

Auto restore

  Archived nodes can be restored manually with a user command or automatically via autorestore attribute in the definition.

  The automatic restore is only applied when node containing the autorestore attribute completes.

  Restore will fail if:

  • Node has not been archived. Also autorestore on self is meaningless.
  • Node has children, i.e. as a part of replace
  •  If the file ECF_HOME/ECF_NAME.check does not exist

  Usage:

  • ecflow_client --restore=/s1/f1   # restore family /s1/f1
  • ecflow_client  --restore=/s1 /s2  # restore suites /s1 and /s2

 Suite and Family nodes can also be restored with  attribute autorestore. 

Whenever a  node completes we check if it has a autorestore attribute.

If it does, we then try to restore from disk the referenced suite/family node.

extern /s4
extern /s4/f1
extern /s4/f2

suite s
 family f1
    autorestore ./f2 ./f3 ./f4     # autorestore
    task t1                        # when t1 completes, and hence f1, apply restore
 endfamily
 family f2
    autorestore /s/f1 /s/f3 /s/f4  # autorestore
    task t1                        # when t1 completes, and hence f2, apply restore
 endfamily
 family f3
    autorestore /s/f1              # autorestore
    task t1                        # when t1 completes, and hence f3, apply restore
 endfamily
 family f4
    autorestore /s4 /s4/f1 /s4/f2  # this is an extern so allow
    task t1                        # when t1 completes, and hence f4, apply restore
 endfamily
endsuite
  • No labels