ecFlow's documentation is now on readthedocs!

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Add Limits/Inlimits
from ecflow import Defs,Suite,Task,Limit,InLimit

defs = Defs()
s1 = defs.add_suite("s1") 
s1.add_limit( "limitName4", 10 ) # name, maximum token
f1 = s1.add_family("f1")
f1.add_inlimit( "limitName4","/s1/f1",2) # limit name, path to limit, tokens consumed
for i in range(1,4):
    f1.add_task( "t{}".format(i))

The following show alternative styles that produce the same definition.

defs = Defs().add(
         Suite("s1").add(
           Limit("limitName4", 10),
           Family("f1").add(
             InLimit("limitName4","/s1/f1",2),
             [ Task("t{}".format(t)) 
                  for t in range(1,4) ])))
defs = Defs() + Suite("s1") 
defs.s1 += [ Limit("limitName4", 10),Family("f1") ]
defs.s1.f1 += [ InLimit("limitName4","/s1/f1",2),
                      [ Task("t{}".format(t)) 
                         for t in range(1,4) ] ]
with Defs() as defs:
   with defs.add_suite("s1") as s1:
      s1.add_limit( "limitName4", 10 ) 
          with s1.add_family("f1") as f1:
              f1.add_inlimit( "limitName4","/s1/f1",2)  
              f1 += [ Task("t{}".format(t)) 
                         for t in range(1,4) ]
  • No labels