add local sensor datastore, make IO tests granular
diff --git a/wally/suits/io/agent.py b/wally/suits/io/agent.py
index 336b176..0a84ed1 100644
--- a/wally/suits/io/agent.py
+++ b/wally/suits/io/agent.py
@@ -290,12 +290,22 @@
return time
-def slice_config(sec_iter, runcycle=None, max_jobs=1000):
+def slice_config(sec_iter, runcycle=None, max_jobs=1000,
+ soft_runcycle=None):
jcount = 0
runtime = 0
curr_slice = []
+ prev_name = None
for pos, sec in enumerate(sec_iter):
+ if soft_runcycle is not None and prev_name != sec.name:
+ if runtime > soft_runcycle:
+ yield curr_slice
+ curr_slice = []
+ runtime = 0
+ jcount = 0
+
+ prev_name = sec.name
jc = sec.vals.get('numjobs', 1)
msg = "numjobs should be integer, not {0!r}".format(jc)
@@ -328,6 +338,7 @@
runtime = curr_task_time
jcount = jc
curr_slice = [sec]
+ prev_name = None
if curr_slice != []:
yield curr_slice