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.
@@ -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):
@@ -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
 
@@ -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
- for d in done:
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
- if len(active_task_l):
152
+ while len(active_task_l):
166
153
  # TODO: Shouldn't gather here -- reach to each completion
167
- coros = list(at[1] for at in active_task_l)
168
- res = await asyncio.gather(*coros)
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 = {}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dv-flow-mgr
3
- Version: 0.0.1.14116344455a1
3
+ Version: 0.0.1.14139694132a1
4
4
  Summary: DV Flow Manager is a build system for silicon design
5
5
  Author-email: Matthew Ballance <matt.ballance@gmail.com>
6
6
  License: Apache License
@@ -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=C2EeKgjeHB9xdC7nkLMBOcektwDoLhdP-4wQLY8OZ4g,1562
28
- dv_flow/mgr/task_node_ctor_proxy.py,sha256=e1pfLBnJHAgQvkyNcB8sKw5DJdAPRphQz1-DT9Oheho,2017
29
- dv_flow/mgr/task_node_ctor_task.py,sha256=9HT39F3KcEpnOBd0SbUqE6FaeSY5fFp_tN1bzGNfFKk,2237
30
- dv_flow/mgr/task_node_ctor_wrapper.py,sha256=fRwO2RRJbt7IB1Ziwobmg0-nU5vFYsXoNV4IXfsS7mw,3435
31
- dv_flow/mgr/task_node_leaf.py,sha256=YofovCK8ozKOXyAAnoRq9fKcNh2kGGWxsQXh6l9K8t0,7276
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=Ho-u4xhiTVrOhSgjtcv-6pA0euwI3JFNNAHRdmSVBaA,9477
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.14116344455a1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
53
- dv_flow_mgr-0.0.1.14116344455a1.dist-info/METADATA,sha256=eCspmsiQjw9KIDGVt0zXfKIQufdktI71Mn-LkQcL6Vc,13336
54
- dv_flow_mgr-0.0.1.14116344455a1.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
55
- dv_flow_mgr-0.0.1.14116344455a1.dist-info/entry_points.txt,sha256=1roy8wAFM48LabOvr6jiOw0MUs-qE8X3Vf8YykPazxk,50
56
- dv_flow_mgr-0.0.1.14116344455a1.dist-info/top_level.txt,sha256=amfVTkggzYPtWwLqNmRukfz1Buu0pGS2SrYBBLhXm04,8
57
- dv_flow_mgr-0.0.1.14116344455a1.dist-info/RECORD,,
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,,