dv-flow-mgr 0.0.1.14116344455a1__py3-none-any.whl → 0.0.1.14139694132a1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- dv_flow/mgr/task_node_ctor_def_base.py +0 -3
- dv_flow/mgr/task_node_ctor_proxy.py +0 -3
- dv_flow/mgr/task_node_ctor_task.py +0 -4
- dv_flow/mgr/task_node_ctor_wrapper.py +0 -3
- dv_flow/mgr/task_node_leaf.py +0 -1
- dv_flow/mgr/task_runner.py +21 -26
- {dv_flow_mgr-0.0.1.14116344455a1.dist-info → dv_flow_mgr-0.0.1.14139694132a1.dist-info}/METADATA +1 -1
- {dv_flow_mgr-0.0.1.14116344455a1.dist-info → dv_flow_mgr-0.0.1.14139694132a1.dist-info}/RECORD +12 -12
- {dv_flow_mgr-0.0.1.14116344455a1.dist-info → dv_flow_mgr-0.0.1.14139694132a1.dist-info}/WHEEL +0 -0
- {dv_flow_mgr-0.0.1.14116344455a1.dist-info → dv_flow_mgr-0.0.1.14139694132a1.dist-info}/entry_points.txt +0 -0
- {dv_flow_mgr-0.0.1.14116344455a1.dist-info → dv_flow_mgr-0.0.1.14139694132a1.dist-info}/licenses/LICENSE +0 -0
- {dv_flow_mgr-0.0.1.14116344455a1.dist-info → dv_flow_mgr-0.0.1.14139694132a1.dist-info}/top_level.txt +0 -0
@@ -28,9 +28,6 @@ import logging
|
|
28
28
|
import toposort
|
29
29
|
from typing import Any, Callable, ClassVar, Dict, List, Tuple
|
30
30
|
from .task_data import TaskDataInput, TaskDataOutput, TaskDataResult
|
31
|
-
from .task_params_ctor import TaskParamsCtor
|
32
|
-
from .param_ref_eval import ParamRefEval
|
33
|
-
from .param import Param
|
34
31
|
from .task_node_ctor import TaskNodeCtor
|
35
32
|
|
36
33
|
@dc.dataclass
|
@@ -28,9 +28,6 @@ import logging
|
|
28
28
|
import toposort
|
29
29
|
from typing import Any, Callable, ClassVar, Dict, List, Tuple
|
30
30
|
from .task_data import TaskDataInput, TaskDataOutput, TaskDataResult
|
31
|
-
from .task_params_ctor import TaskParamsCtor
|
32
|
-
from .param_ref_eval import ParamRefEval
|
33
|
-
from .param import Param
|
34
31
|
from .task_node import TaskNode
|
35
32
|
from .task_node_ctor import TaskNodeCtor
|
36
33
|
from .task_node_ctor_def_base import TaskNodeCtorDefBase
|
@@ -28,12 +28,8 @@ import logging
|
|
28
28
|
import toposort
|
29
29
|
from typing import Any, Callable, ClassVar, Dict, List, Tuple
|
30
30
|
from .task_data import TaskDataInput, TaskDataOutput, TaskDataResult
|
31
|
-
from .task_params_ctor import TaskParamsCtor
|
32
|
-
from .param_ref_eval import ParamRefEval
|
33
|
-
from .param import Param
|
34
31
|
from .task_node import TaskNode
|
35
32
|
from .task_node_leaf import TaskNodeLeaf
|
36
|
-
from .task_node_ctor import TaskNodeCtor
|
37
33
|
from .task_node_ctor_def_base import TaskNodeCtorDefBase
|
38
34
|
|
39
35
|
@dc.dataclass
|
@@ -28,13 +28,10 @@ import logging
|
|
28
28
|
import toposort
|
29
29
|
from typing import Any, Callable, ClassVar, Dict, List, Tuple
|
30
30
|
from .task_data import TaskDataInput, TaskDataOutput, TaskDataResult
|
31
|
-
from .task_params_ctor import TaskParamsCtor
|
32
|
-
from .param_ref_eval import ParamRefEval
|
33
31
|
from .param import Param
|
34
32
|
from .task_node import TaskNode
|
35
33
|
from .task_node_leaf import TaskNodeLeaf
|
36
34
|
from .task_node_ctor import TaskNodeCtor
|
37
|
-
from .task_node_ctor_def_base import TaskNodeCtorDefBase
|
38
35
|
|
39
36
|
@dc.dataclass
|
40
37
|
class TaskNodeCtorWrapper(TaskNodeCtor):
|
dv_flow/mgr/task_node_leaf.py
CHANGED
@@ -9,7 +9,6 @@ from typing import Any, Callable, ClassVar, Dict, List, Tuple
|
|
9
9
|
from .task_data import TaskDataInput, TaskDataOutput, TaskDataResult
|
10
10
|
from .task_def import ConsumesE, PassthroughE
|
11
11
|
from .task_node import TaskNode
|
12
|
-
from .task_params_ctor import TaskParamsCtor
|
13
12
|
from .param_ref_eval import ParamRefEval
|
14
13
|
from .param import Param
|
15
14
|
|
dv_flow/mgr/task_runner.py
CHANGED
@@ -117,20 +117,7 @@ class TaskSetRunner(TaskRunner):
|
|
117
117
|
while len(active_task_l) >= self.nproc and t not in done_task_s:
|
118
118
|
# Wait for at least one job to complete
|
119
119
|
done, pending = await asyncio.wait(at[1] for at in active_task_l)
|
120
|
-
|
121
|
-
for i in range(len(active_task_l)):
|
122
|
-
if active_task_l[i][1] == d:
|
123
|
-
tt = active_task_l[i][0]
|
124
|
-
tt.end = datetime.now()
|
125
|
-
if tt.result.memento is not None:
|
126
|
-
dst_memento[tt.name] = tt.result.memento.model_dump()
|
127
|
-
else:
|
128
|
-
dst_memento[tt.name] = None
|
129
|
-
self.status |= tt.result.status
|
130
|
-
self._notify(tt, "leave")
|
131
|
-
done_task_s.add(tt)
|
132
|
-
active_task_l.pop(i)
|
133
|
-
break
|
120
|
+
self._completeTasks(active_task_l, done_task_s, done, dst_memento)
|
134
121
|
|
135
122
|
if self.status == 0 and t not in done_task_s:
|
136
123
|
memento = src_memento.get(t.name, None)
|
@@ -162,19 +149,10 @@ class TaskSetRunner(TaskRunner):
|
|
162
149
|
|
163
150
|
# All pending tasks in the task-group have been launched
|
164
151
|
# Wait for them to all complete
|
165
|
-
|
152
|
+
while len(active_task_l):
|
166
153
|
# TODO: Shouldn't gather here -- reach to each completion
|
167
|
-
|
168
|
-
|
169
|
-
for tt in active_task_l:
|
170
|
-
tt[0].end = datetime.now()
|
171
|
-
if tt[0].result.memento is not None:
|
172
|
-
dst_memento[tt[0].name] = tt[0].result.memento.model_dump()
|
173
|
-
else:
|
174
|
-
dst_memento[tt[0].name] = None
|
175
|
-
self.status |= tt[0].result.status
|
176
|
-
self._notify(tt[0], "leave")
|
177
|
-
active_task_l.clear()
|
154
|
+
done, pending = await asyncio.wait(at[1] for at in active_task_l)
|
155
|
+
self._completeTasks(active_task_l, done_task_s, done, dst_memento)
|
178
156
|
|
179
157
|
if self.status != 0:
|
180
158
|
self._log.debug("Exiting due to status: %d", self.status)
|
@@ -196,6 +174,23 @@ class TaskSetRunner(TaskRunner):
|
|
196
174
|
else:
|
197
175
|
return None
|
198
176
|
|
177
|
+
def _completeTasks(self, active_task_l, done_task_s, done_l, dst_memento):
|
178
|
+
for d in done_l:
|
179
|
+
for i in range(len(active_task_l)):
|
180
|
+
if active_task_l[i][1] == d:
|
181
|
+
tt = active_task_l[i][0]
|
182
|
+
tt.end = datetime.now()
|
183
|
+
if tt.result.memento is not None:
|
184
|
+
dst_memento[tt.name] = tt.result.memento.model_dump()
|
185
|
+
else:
|
186
|
+
dst_memento[tt.name] = None
|
187
|
+
self.status |= tt.result.status
|
188
|
+
self._notify(tt, "leave")
|
189
|
+
done_task_s.add(tt)
|
190
|
+
active_task_l.pop(i)
|
191
|
+
break
|
192
|
+
pass
|
193
|
+
|
199
194
|
def buildDepMap(self, task : Union[TaskNode, List[TaskNode]]) -> Dict[TaskNode, Set[TaskNode]]:
|
200
195
|
tasks = task if isinstance(task, list) else [task]
|
201
196
|
dep_m = {}
|
{dv_flow_mgr-0.0.1.14116344455a1.dist-info → dv_flow_mgr-0.0.1.14139694132a1.dist-info}/RECORD
RENAMED
@@ -24,14 +24,14 @@ dv_flow/mgr/task_node_compound.py,sha256=y8_jzsfT9Vnm-tCWc_-hFHFoSat95zBXFibySu3
|
|
24
24
|
dv_flow/mgr/task_node_ctor.py,sha256=COFGvm5PR2B92H3uW1yhDIUCmppo9U4IfOcv_Jrsreo,3952
|
25
25
|
dv_flow/mgr/task_node_ctor_compound.py,sha256=inJeqOtlkVa7QRCzktqvVkkZ0vZALHFadIGlRZyDTD8,4006
|
26
26
|
dv_flow/mgr/task_node_ctor_compound_proxy.py,sha256=fkH_b35xE0dABbRn9Boa80WWx_tR4L9v1mhX6faefpg,1999
|
27
|
-
dv_flow/mgr/task_node_ctor_def_base.py,sha256=
|
28
|
-
dv_flow/mgr/task_node_ctor_proxy.py,sha256=
|
29
|
-
dv_flow/mgr/task_node_ctor_task.py,sha256=
|
30
|
-
dv_flow/mgr/task_node_ctor_wrapper.py,sha256=
|
31
|
-
dv_flow/mgr/task_node_leaf.py,sha256=
|
27
|
+
dv_flow/mgr/task_node_ctor_def_base.py,sha256=KEOU0uRL8VxbANyOc7X5dUMERAtlqUAGI-pMPfbuHlU,1451
|
28
|
+
dv_flow/mgr/task_node_ctor_proxy.py,sha256=ViOFJ64JM4-CGFZNl89BghFuKSQ66kZVqSj4v2PA6VA,1906
|
29
|
+
dv_flow/mgr/task_node_ctor_task.py,sha256=qpgqMgQ-Nx4F2hAWfp08zPU43TbWs9rv0GnFuD84G6M,2085
|
30
|
+
dv_flow/mgr/task_node_ctor_wrapper.py,sha256=El09jWz6aAq08sy2ZPgr93LwtCi2Zyt1Ykh-Shd0Cho,3292
|
31
|
+
dv_flow/mgr/task_node_leaf.py,sha256=t1aP26CPCO89XSA_5AonvNFQhsgjJsq62lxY3TFyUMI,7231
|
32
32
|
dv_flow/mgr/task_output.py,sha256=ZwyvwnYj_gHOEFAEOH3m24Xfc4Cn77hb1j7LkX8_3C4,1086
|
33
33
|
dv_flow/mgr/task_params_ctor.py,sha256=BPkbnoCtzhCxc1g8CJ6VimCcm5UAu92PXeDMhQ4lYsQ,1957
|
34
|
-
dv_flow/mgr/task_runner.py,sha256=
|
34
|
+
dv_flow/mgr/task_runner.py,sha256=mEFf0Mh5XYHkmB52UQI1gT9ugH9oISEb59Ce8EezZaI,9104
|
35
35
|
dv_flow/mgr/type.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
36
36
|
dv_flow/mgr/type_def.py,sha256=NDeyplKrPnWwEv4yHkhXEMK9d9j39b5MOeLB-1Mchqo,1095
|
37
37
|
dv_flow/mgr/cmds/cmd_graph.py,sha256=Ykw__EdwamDBZZKxQZVbtMtFl7koq5dJMShTBXSM2pk,2672
|
@@ -49,9 +49,9 @@ dv_flow/mgr/util/__main__.py,sha256=F0LXpCDpYTPalSo0dc1h_qZkip5v1AZYYh-vcYbh5s0,
|
|
49
49
|
dv_flow/mgr/util/util.py,sha256=yg9oTPRiO87mkCSOQpOtlG9vyKPQzY3qp4OJkEMbWyY,1443
|
50
50
|
dv_flow/mgr/util/cmds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
51
51
|
dv_flow/mgr/util/cmds/cmd_schema.py,sha256=lrEI-Jwb8j4I4yYOn9hq7_7NYbK8leVxLesrHyEWm-E,1879
|
52
|
-
dv_flow_mgr-0.0.1.
|
53
|
-
dv_flow_mgr-0.0.1.
|
54
|
-
dv_flow_mgr-0.0.1.
|
55
|
-
dv_flow_mgr-0.0.1.
|
56
|
-
dv_flow_mgr-0.0.1.
|
57
|
-
dv_flow_mgr-0.0.1.
|
52
|
+
dv_flow_mgr-0.0.1.14139694132a1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
53
|
+
dv_flow_mgr-0.0.1.14139694132a1.dist-info/METADATA,sha256=p0Qw8i67Jgu_NdhXRRZD_6xzpMtrELAJp4GE6Tuumjs,13336
|
54
|
+
dv_flow_mgr-0.0.1.14139694132a1.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
55
|
+
dv_flow_mgr-0.0.1.14139694132a1.dist-info/entry_points.txt,sha256=1roy8wAFM48LabOvr6jiOw0MUs-qE8X3Vf8YykPazxk,50
|
56
|
+
dv_flow_mgr-0.0.1.14139694132a1.dist-info/top_level.txt,sha256=amfVTkggzYPtWwLqNmRukfz1Buu0pGS2SrYBBLhXm04,8
|
57
|
+
dv_flow_mgr-0.0.1.14139694132a1.dist-info/RECORD,,
|
{dv_flow_mgr-0.0.1.14116344455a1.dist-info → dv_flow_mgr-0.0.1.14139694132a1.dist-info}/WHEEL
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|