force
-----
Force a node to a given state, or set its event.
When a task is set to complete, it may be automatically re-queued if it has
multiple future time dependencies. However each time we force a complete it will
expire any time based attribute on that node. When the last time based attribute
expires, the node will stay in a complete state.
This behaviour allow Repeat values to be incremented interactively.
A repeat attribute is incremented when all the child nodes are complete
in this case the child nodes are automatically re-queued.
arg1 = [ unknown | complete | queued | submitted | active | aborted | clear | set ]
arg2 = (optional) recursive
Applies state to node and recursively to all its children
arg3 = (optional) full
Set repeat variables to last value, only works in conjunction
with recursive option
arg4 = path_to_node or path_to_node:<event>: paths must begin with '/'
Usage:
--force=complete /suite/t1 /suite/t2 # Set task t1 & t2 to complete
--force=clear /suite/task:ev # Clear the event 'ev' on task /suite/task
--force=complete recursive /suite/f1 # Recursively set complete all children of /suite/f1
Effect:
Consider the effect of forcing complete when the current time is at 09:00
suite s1
task t1; time 12:00 # will complete straight away
task t2; time 10:00 13:00 01:00 # will complete on fourth attempt
--force=complete /s1/t1 /s1/t2
When we have a time range(i.e as shown with task t2), it is re-queued and the
next time slot is incremented for each complete, until it expires, and the task completes.
Use the Why command, to show next run time (i.e. next time slot)
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