In the last example we have task that runs every five minutes, however what happens if the task takes longer ?
When this happens, the time slot, is missed.
Cron dependencies can be specified using the cron keyword. Cron differs from time as when the node is complete it queues again immediately. Cron also only works with a real time clock (not a hybrid clock).
When a time has expired, the associated node is free to run. The time will stay expired, until the node is re-queued.
date or day
Mixing time dependencies on the same node
With multiple time dependencies on the same node, the dependencies of the same type are or'ed together, then and'ed with the different types.
Mixing time dependencies on different nodes
When time dependencies are placed on different nodes in the hierarchy, the results may seem surprising.
The example above assumes we have suite, with an infinite repeat loop. So why does the task run on Monday morning at 00:00 ?
This is because time dependencies on different nodes act independently of each other. In this case time attribute was set free on Sunday at 10 am ( and once free it stays free until it is re-queued). Hence task tt is free to run on Monday morning. After task has run and re-queued. It will then run on Monday at 10 am.
For brevity we have left out family f1. In python this would be:
What to do
- Make the changes to the suite definition file
- Create all the necessary ecf script‘s by copying the one from /test/f1/t7
- Replace the suite
python: python test.py; python client.py
text: ecflow_client --suspend=/test ; ecflow_client --replace=/test test.def
- ecflow_ui has a special window to explain why a task is queued. Select a queued task and press the
iconor click on the 'Why tab'