Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Python

Code Block
languagepy
title$HOME/course/test.py
import os
from ecflow import Defs,Suite,Family,Task,Edit,Trigger,Complete,Event

def create_family_f1():
    return Family("f1",
                Edit(SLEEP= 20),
                Task("t1"),
                Task("t2",
                    Trigger("t1 == complete"),
                    Event("a"), 
                    Event("b")),
                Task("t3",
                    Trigger("t2:a")),
                Task("t4",
                    Trigger("t2 == complete"), 
                    Complete("t2:b")))
        
print("Creating suite definition")  
home = os.path.join(os.getenv("HOME"), "course")
defs = Defs( 
        Suite("test",
            Edit(ECF_INCLUDE=home,ECF_HOME=home),
            create_family_f1()))
print(defs) 

print("Checking job creation: .ecf -> .job0")  
print(defs.check_job_creation())

print("Saving definition to file 'test.def'")
defs.save_as_defs("test.def")

What to do

  1. Update test.def or test.py to add a complete expression to task t4
  2. Replace the suite
    python:  python test.py ; python client.py
    text:       ecflow_client --suspend=/test ;  ecflow_client --replace=/test test.def
  3. Observe the tasks in ecflow_ui
  4. See the triggers by selecting t4
  5. See the trigger relation by clicking on the arrow
  6. See the triggers in the tree, using the Show menu
  7. Note the icon indicating that the task has not run
  8. You can To check the triggers modify task t2 to check that so that event b is not triggered;  task t4 will should run when the event is not set t2 completes.
        
Horizontal Navigation Bar


Button Group

Button Hyperlink
titlePrevious
typestandard
urlhttps://software.ecmwf.int/wiki/display/ECFLOW/Add+an+event
Button Hyperlink
titleUp
typestandard
urlhttps://software.ecmwf.int/wiki/display/ECFLOW/Going+Further
Button Hyperlink
titleNext
typestandard
urlhttps://software.ecmwf.int/wiki/display/ECFLOW/Add+a+meter


...