Versions Compared

Key

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

...

Python

Code Block
languagepy
title$HOME/course/test.py
#!/usr/bin/env python2.7
import os
from ecflow import Defs,Suite,Family,Task,Edit,Trigger,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: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
  2. Edit t2.ecf to call ecflow_client –event.
  3. Copy t1.ecf to t3.ecf and t4.ecf
  4. Replace the suite
    python:  python test.py; python client.py
    text:       ecflow_client --suspend=/test ; ecflow_client --replace=/test test.def
  5. Observe the tasks in ecflow_ui
  6. See the triggers by selecting t2/t3 and clicking on the trigger tab
      

...