Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Horizontal Navigation Bar
Button Group

Button Hyperlink
titlePrevious
typestandard
urlhttps://software.ecmwf.int/wiki/display/ECFLOW/Add+another+task
Button Hyperlink
titleUp
typestandard
urlhttps://software.ecmwf.int/wiki/display/ECFLOW/Going+Further
Button Hyperlink
titleNext
typestandard
urlhttps://software.ecmwf.int/wiki/display/ECFLOW/Families

 

Sometimes waiting for the completion of a task is not good enough.
If a task is producing several results, another task may start as
soon as the first results are ready.
For that, ecFlow introduces the concept of event‘s.

...

Python

#!/usr/bin/env python2.7
import os
import ecflow 

def create_family_f1():
    f1 = ecflow.Family("f1")
    f1.add_variable("SLEEP", 20)
    f1.add_task("t1") 
    
    t2 = f1.add_task("t2")  
    t2.add_trigger("t1 eq complete") 
    t2.add_event("a")
    t2.add_event("b")
    
    f1.add_task("t3").add_trigger("t2:a")  
    f1.add_task("t4").add_trigger("t2:b")  
    return f1

print "Creating suite definition"   
defs = ecflow.Defs()
suite = defs.add_suite("test")
suite.add_variable("ECF_INCLUDE", os.getenv("HOME") + "/course")
suite.add_variable("ECF_HOME",    os.getenv("HOME") + "/course")

suite.add_family( create_family_f1() )
print defs

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

print "Checking trigger expressions"
print defs.check()

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

What to do

  1. Update test.def or test.py
  2. Edit t2.ecf to call ecflow_client –event.
  3. Copy t1.ecf to t3.ecf and t4.ecf
  4. Replace the suite
  5. Observe the tasks in ecflowview.
  6. See the triggers by selecting t3 and clicking on the icon triggers
  7. See the triggers by selecting t2 and click on Dependencies

 

Horizontal Navigation Bar
Button Group

Button Hyperlink
titlePrevious
typestandard
urlhttps://software.ecmwf.int/wiki/display/ECFLOW/Add+another+task
Button Hyperlink
titleUp
typestandard
urlhttps://software.ecmwf.int/wiki/display/ECFLOW/Going+Further
Button Hyperlink
titleNext
typestandard
urlhttps://software.ecmwf.int/wiki/display/ECFLOW/Families

...