Page History
Horizontal Navigation Bar | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Limits provide simple load management by limiting the number of tasks
submitted by a specific ecflow_server
...
Ecf script
We will create family f5 with nine tasks.
Create new ecf script s in $HOME/course/test/f5/ directory, each one containing:
Code Block | ||||
---|---|---|---|---|
| ||||
%include <head.h> echo "I will now sleep for %SLEEP% seconds" sleep %SLEEP% %include <tail.h> |
Text
Let us modify our suite definition file:
Code Block |
---|
# Definition of the suite test. suite test edit ECF_INCLUDE "$HOME/course" edit ECF_HOME "$HOME/course" limit l1 2 family f5 inlimit l1 edit SLEEP 20 task t1 task t2 task t3 task t4 task t5 task t6 task t7 task t8 task t9 endfamily endsuite |
Python
Code Block | ||||
---|---|---|---|---|
| ||||
#!/usr/bin/env python2.7 import os |
from ecflow import Defs,Suite,Family,Task,Edit,Trigger,Complete,Event,Meter,Time,Day,Date,Label, \ RepeatString,RepeatInteger,RepeatDate,InLimit,Limit def create_family_f5() : |
return |
Family("f5" |
, |
InLimit("l1"), |
|
|
|
|
|
Edit(SLEEP=20), |
|
|
[ Task('t{0}'.format(i)) |
for i in |
range(1,10) ] ) print "Creating suite definition" |
home = |
os.path.join(os.getenv("HOME"), |
"course") |
defs = Defs( Suite("test", Edit(ECF_INCLUDE=home,ECF_HOME=home), Limit("l1", |
2) |
, create_family_f5() |
)) print(defs) |
("Checking job creation: .ecf -> .job0") |
|
#print(defs.check_job_creation()) print |
(" |
Checking |
trigger |
expressions" |
) assert len(defs.check()) == 0,defs.check() print |
("Saving definition to file 'test.def'") defs.save_as_defs("test.def") |
What to do
...