Currently, the ecflow python api API provides quite extensive functionality.
However sometimes we just want to query simple state on the command line, and using the full-blown python apiAPI, can seem like an overkill.
Query can be used in these simple cases
...
- repeat The repeat is not found
- event The event is not found
- meter The meter is not found
- limit/limit_max The limit is not found
- label The label is not found
- variable No user or generated variable or repeat of that name found on node, or any of its parents
- trigger Trigger does not parse, or reference to nodes/attributes in the expression are not valid\n"
Arguments:
- arg1 = [ state | event | meter | label | variable | trigger | limit | limit_max ]
- arg2 = <path> | <path>:name where name is name of a event, meter,limit or variable
- arg3 = trigger expression (optional) | prev | next # prev,next only used when arg1 is repeat
Usage:
Code Block | ||||
---|---|---|---|---|
| ||||
state=$(ecflow_client --query state /path/to/node) |
...
# return node state to standard out |
...
dstate=$(ecflow_client --query dstate /path/to/node) |
...
# state that can includes suspended |
...
value=$(ecflow_client --query repeat /path/to/node ) |
...
# return the current value as a string |
...
value=$(ecflow_client --query repeat /path/to/node prev ) |
...
# return the previous value as a string, does not modify real repeat |
...
value=$(ecflow_client --query repeat /path/to/node next) |
...
# return the next value as a string, does not modify real repeat event=$(ecflow_client --query event /path/to/task/with/event:event_name) # return set | clear to standard out |
...
meter=$(ecflow_client --query meter /path/to/task/with/meter:meter_name) |
...
# returns the current value of the meter to standard out value=$(ecflow_client --query variable /path/to/task/with/var:var_name ) |
...
# returns the variable value to standard out limit_value=$(ecflow_client --query limit /path/to/task/with/limit:limit_name) |
...
# returns the current value of the limit to standard out limit_max=$(ecflow_client --query limit_max /path/to/task/with/limit:limit_name) # returns the max value of the limit to standard out |
...
label_value=$(ecflow_client --query label %ECF_NAME%:label_name) |
...
# returns the current value of the label to standard out value=$(ecflow_client --query trigger /path/to/node/with/trigger \"/suite/task == complete\") # return true if expression evaluates false otherwise |