from ecflow import Defs,Suite,Task, Defstatus, AutoCancel s1 = defs.add_suite("s1") s1.add_task("t1").add_defstatus(Defstatus("complete")) s1.add_task("t2").add_defstatus(DState.complete)
The following shows alternative styles that produce the same definiyion:
defs = Defs().add( Suite("s1").add( Task("t1").add(Defstatus("complete")), Task("t2").add(Defstatus(DState.complete)))) | defs = Defs().add( Suite("s1")) defs.s1 += [Task("t1"),Task("t2")] defs.s1.t1 += [ Defstatus("complete") ] defs.s1.t2 += [ Defstatus(DState.complete) ] |
Adding autocancel
from ecflow import Defs,Suite,Task,AutoCancel, TimeSlot defs = Defs() s1 = defs.add_suite("s1") s1.add_task("t1").add_autocancel(3) # delete task after 3 days after completion s1.add_task("t2").add_autocancel(1, 10, True) # delete task 1hr 10 min after task completion s1.add_task("t3").add_autocancel(TimeSlot(2,10), True) # delete task 2hr 10 min after task completion s1.add_task("t4").add_autocancel(Autocancel(1)) # delete task after 1 day after task completion s1.add_task("t5").add_autocancel(Autocancel( 18, 10, False)) # delete task at 6:10pm once it has completed s1.add_task("t6").add_autocancel(Autocancel(TimeSlot(2,10), False))# delete task at 2:10am once it has completed