Currently, the ecflow python API provides quite extensive functionality.

However sometimes we just want to query simple state on the command line, and using the full-blown python API, can seem like overkill.

Query can be used in these simple cases

Query the status of attributes i.e. state, dstate, repeat,event, meter, variable, limit , limit_max or trigger expression without blocking

 If this command is called within a '.ecf' script we will additionally log the task calling this command

This is required to aid debugging for excessive use of this command

 The command will fail if the node path to the attribute does not exist in the definition and if:

  Arguments:

Usage: 

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