|
trigger /test/f1/t1 == complete
# Definition of the suite test. suite test edit ECF_INCLUDE "$HOME/course" # replace '$HOME' with the path to your home directory edit ECF_HOME "$HOME/course" family f1 edit SLEEP 20 task t1 task t2 trigger t1 eq complete endfamily endsuite |
The trigger expression can be checked, this is especially important when dealing with very large suites and complex triggers.
import os from ecflow import Defs,Suite,Family,Task,Edit,Trigger def create_family_f1(): return Family("f1", Edit(SLEEP=20), Task("t1"), Task("t2",Trigger("t1 == complete"))) 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("check trigger expressions") check = defs.check() assert len(check) == 0, check print("Checking job creation: .ecf -> .job0") print(defs.check_job_creation()) print("Saving definition to file 'test.def'") defs.save_as_defs("test.def") |
Introduce an error in the trigger expression and ensure that this error is trapped. i.e. change the trigger to.
Trigger("t == complete") # there is no node with name t, this should be reported as an error |
|