Currently in ecflow we can have jobs that have identical but vary only in the step.
In these cases each step carries a latency, i.e submission cost,(i.e. starting hundreds of new processes)
The Queue attribute was created to address this situation.
suite test_queue
family f1
queue q1 1 2 3 4 5 6 7
task t
endfamily
family f2
task a
queue q2 1 2 3
task b
trigger /test_queue/f1:q1 > 1 # notice that queue name is accessible to the trigger
task c
trigger /test_queue/f2/a:q2 > 1
endfamily
endsuite
There are new child commands, that are used to signal when a step is active,complete or has aborted.
New Child command
step=$(ecflow_client --queue queue_name active) # This will return next step from the server and make it active ecflow_client --queue queue_name complete $step # Tell the server that step has completed for the given queue ecflow_client --queue queue_name aborted $step # Tell the server that step has aborted for the given queue