archive
-------
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 --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 the file ECF_HOME/<hostname>.<port>.<ECF_NAME>.check,
where '/' has been replaced with ':' in ECF_NAME
Nodes like (family and suites) can also to automatically archived by using,
the 'autoarchive' attribute. The attribute is only applied once the node is complete
suite autoarchive
family f1
autoarchive +01:00 # archive one hour after complete
task t1
endfamily
family f2
autoarchive 01:00 # archive at 1 am in morning after complete
task t1
endfamily
family f3
autoarchive 10 # archive 10 days after complete
task t1
endfamily
family f4
autoarchive 0 # archive immediately (upto 60s) after complete
task t1
endfamily
endsuite
Usage::
--archive=/s1 # archive suite s1
--archive=/s1/f1 /s2 # archive family /s1/f1 and suite /s2
--archive=force /s1 /s2 # archive suites /s1,/s2 even if they have active tasks
The client reads in the following environment variables. These are read by user and child command
|----------|----------|------------|-------------------------------------------------------------------|
| Name | Type | Required | Description |
|----------|----------|------------|-------------------------------------------------------------------|
| ECF_HOST | <string> | Mandatory* | The host name of the main server. defaults to 'localhost' |
| ECF_PORT | <int> | Mandatory* | The TCP/IP port to call on the server. Must be unique to a server |
| ECF_SSL | <any> | Optional* | Enable encrypted comms with SSL enabled server. |
|----------|----------|------------|-------------------------------------------------------------------|
* The host and port must be specified in order for the client to communicate with the server, this can
be done by setting ECF_HOST, ECF_PORT or by specifying --host=<host> --port=<int> on the command line