Versions Compared

Key

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

...

Here is the previous example using the with statement:

Code Block
languagepy
titleUsing With
#!/usr/bin/env python2.7

...

from ecflow import Defs,Suite,Family,Task,Edit,Trigger,Complete,Event,Meter,Time,Day,Date
import 

...

os
import sys

version = sys.version_info

...

 
if version[1] < 7: 
    print "This example requires python version 2.7, but found : " + str(version)
    exit(0)

print "Creating suite definition"  
with 

...

Defs() as defs: 
    
    with defs.add_suite("test") as suite:
        
        suite

...

 += Edit(ECF_HOME=os.path.join(os.getenv("HOME"),

...

  "course"))
        suite

...

 += Edit(ECF_INCLUDE =os.path.join(os.getenv("HOME"),

...

  "course"))
        
    

...

with suite.add_family("f1") as f1:
        f1 

...

+= Edit(SLEEP=20)
        f1 

...

+= Task("t1"

...

, Meter("progress", 1, 100, 90))
        f1 

...

+= Task("t2"

...

, Trigger("t1 

...

== complete")

...

, Event("a")

...

, Event("b"))
        f1 

...

+= Task("t3"

...

, Trigger("t2:a")

...

)
        f1 

...

+= Task("t4"

...

, Trigger("t2 

...

== complete")

...

, Complete("t2:b")

...

)
        f1 

...

+= Task("t5"

...

, Trigger("t1:progress ge 30"))

...


        f1 

...

+= Task("t6"

...

, Trigger("t1:progress ge 60")

...

)
        f1 

...

+= Task("t7"

...

, Trigger("t1:progress ge 90"))

...


    

...

    

...

with suite.add_family("f2") as f2:        
        f2 

...

+= Edit(SLEEP=20)
        f2 

...

+= Task("t1"

...

, Time("00:30 23:30 00:30"))
        f2 

...

+= Task("t2"

...

, Day("sunday"))
        f2 

...

+= Task("t3"

...

, Date(1, 0, 0)

...

, Time(12, 0))
        f2 

...

+= Task("t4"

...

, Time(0, 2, True))
        f2 

...

+= Task("t5"

...

, Time(0, 2))
            

...

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")


Horizontal Navigation Bar


Button Group

Button Hyperlink
titlePrevious
typestandard
urlhttps://software.ecmwf.int/wiki/display/ECFLOW/Time+Dependencies
Button Hyperlink
titleUp
typestandard
urlhttps://software.ecmwf.int/wiki/display/ECFLOW/Going+Further
Button Hyperlink
titleNext
typestandard
urlhttps://software.ecmwf.int/wiki/display/ECFLOW/Advanced+Topics


...