dv-flow-mgr 1.0.0.14420805951a1__py3-none-any.whl → 1.0.0.14458222178a1__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_graph_builder.py +15 -11
- dv_flow/mgr/task_node_compound.py +8 -3
- {dv_flow_mgr-1.0.0.14420805951a1.dist-info → dv_flow_mgr-1.0.0.14458222178a1.dist-info}/METADATA +1 -1
- {dv_flow_mgr-1.0.0.14420805951a1.dist-info → dv_flow_mgr-1.0.0.14458222178a1.dist-info}/RECORD +8 -8
- {dv_flow_mgr-1.0.0.14420805951a1.dist-info → dv_flow_mgr-1.0.0.14458222178a1.dist-info}/WHEEL +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1.dist-info → dv_flow_mgr-1.0.0.14458222178a1.dist-info}/entry_points.txt +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1.dist-info → dv_flow_mgr-1.0.0.14458222178a1.dist-info}/licenses/LICENSE +0 -0
- {dv_flow_mgr-1.0.0.14420805951a1.dist-info → dv_flow_mgr-1.0.0.14458222178a1.dist-info}/top_level.txt +0 -0
@@ -235,7 +235,7 @@ class TaskGraphBuilder(object):
|
|
235
235
|
else:
|
236
236
|
raise Exception("Task %s parameters do not include %s" % (task.name, k))
|
237
237
|
|
238
|
-
self._log.debug("<-- mkTaskNode: %s" % task_t)
|
238
|
+
self._log.debug("<-- mkTaskNode: %s (%d needs)" % (task_t, len(ret.needs)))
|
239
239
|
return ret
|
240
240
|
|
241
241
|
def _findTask(self, pkg, name):
|
@@ -386,13 +386,14 @@ class TaskGraphBuilder(object):
|
|
386
386
|
node.input.rundir = self.get_rundir()
|
387
387
|
self.leave_rundir()
|
388
388
|
|
389
|
-
self._log.debug("--> processing needs (%s)" % task.name)
|
389
|
+
self._log.debug("--> processing needs (%s) (%d)" % (task.name, len(task.needs)))
|
390
390
|
for need in task.needs:
|
391
391
|
need_n = self._getTaskNode(need.name)
|
392
|
-
self._log.debug("Add need %s" % need_n.name)
|
393
392
|
if need_n is None:
|
394
393
|
raise Exception("Failed to find need %s" % need.name)
|
394
|
+
self._log.debug("Add need %s with %d dependencies" % (need_n.name, len(need_n.needs)))
|
395
395
|
node.input.needs.append((need_n, False))
|
396
|
+
# node.needs.append((need_n, False))
|
396
397
|
self._log.debug("<-- processing needs")
|
397
398
|
|
398
399
|
# TODO: handle strategy
|
@@ -414,10 +415,13 @@ class TaskGraphBuilder(object):
|
|
414
415
|
self._log.debug("Process node %s" % t.name)
|
415
416
|
|
416
417
|
referenced = None
|
417
|
-
for tt in
|
418
|
-
|
419
|
-
|
420
|
-
|
418
|
+
for tt in node.tasks:
|
419
|
+
self._log.debug(" Checking task %s" % tt.name)
|
420
|
+
for tnn,_ in tt.needs:
|
421
|
+
self._log.debug(" Check against need %s" % tnn.name)
|
422
|
+
if tn == tnn:
|
423
|
+
referenced = tnn
|
424
|
+
break
|
421
425
|
|
422
426
|
refs_internal = None
|
423
427
|
# Assess how this task is connected to others in the compound node
|
@@ -439,12 +443,12 @@ class TaskGraphBuilder(object):
|
|
439
443
|
self._log.debug("Node %s references internal node %s" % (t.name, refs_internal.name))
|
440
444
|
|
441
445
|
if referenced is not None:
|
446
|
+
self._log.debug("Node %s has internal needs: %s" % (tn.name, referenced.name))
|
447
|
+
else:
|
442
448
|
# Add this task as a dependency of the output
|
443
449
|
# node (the root one)
|
444
450
|
self._log.debug("Add node %s as a top-level dependency" % tn.name)
|
445
451
|
node.needs.append((tn, False))
|
446
|
-
else:
|
447
|
-
self._log.debug("Node %s has internal needs" % tn.name)
|
448
452
|
|
449
453
|
if task.rundir == RundirE.Unique:
|
450
454
|
self.leave_rundir()
|
@@ -452,7 +456,7 @@ class TaskGraphBuilder(object):
|
|
452
456
|
return node
|
453
457
|
|
454
458
|
def _gatherNeeds(self, task_t, node):
|
455
|
-
self._log.debug("--> _gatherNeeds %s" % task_t.name)
|
459
|
+
self._log.debug("--> _gatherNeeds %s (%d)" % (task_t.name, len(task_t.needs)))
|
456
460
|
if task_t.uses is not None:
|
457
461
|
self._gatherNeeds(task_t.uses, node)
|
458
462
|
|
@@ -461,7 +465,7 @@ class TaskGraphBuilder(object):
|
|
461
465
|
if need_n is None:
|
462
466
|
raise Exception("Failed to find need %s" % need.name)
|
463
467
|
node.needs.append((need_n, False))
|
464
|
-
self._log.debug("<-- _gatherNeeds %s" % task_t.name)
|
468
|
+
self._log.debug("<-- _gatherNeeds %s (%d)" % (task_t.name, len(node.needs)))
|
465
469
|
|
466
470
|
def error(self, msg, loc=None):
|
467
471
|
if loc is not None:
|
@@ -21,7 +21,7 @@
|
|
21
21
|
#****************************************************************************
|
22
22
|
import dataclasses as dc
|
23
23
|
from pydantic import BaseModel
|
24
|
-
from .task_def import ConsumesE
|
24
|
+
from .task_def import ConsumesE, PassthroughE, PassthroughE, PassthroughE, PassthroughE
|
25
25
|
from .task_node import TaskNode
|
26
26
|
from .task_node_leaf import TaskNodeLeaf
|
27
27
|
from .task_data import TaskDataResult, TaskDataInput, TaskDataOutput
|
@@ -44,7 +44,9 @@ class TaskNodeCompound(TaskNode):
|
|
44
44
|
self.input = TaskNodeLeaf(
|
45
45
|
name=self.name + ".in",
|
46
46
|
srcdir=self.srcdir,
|
47
|
-
params=NullParams()
|
47
|
+
params=NullParams(),
|
48
|
+
consumes=ConsumesE.No,
|
49
|
+
passthrough=PassthroughE.All)
|
48
50
|
self.input.task = null_run
|
49
51
|
self.tasks.append(self.input)
|
50
52
|
|
@@ -55,7 +57,7 @@ class TaskNodeCompound(TaskNode):
|
|
55
57
|
return self.input
|
56
58
|
|
57
59
|
async def do_run(self,
|
58
|
-
|
60
|
+
ctxt : TaskRunner,
|
59
61
|
rundir,
|
60
62
|
memento : Any=None) -> TaskDataResult:
|
61
63
|
self._log.debug("Compound task %s (%d)" % (self.name, len(self.needs)))
|
@@ -90,6 +92,9 @@ class TaskNodeCompound(TaskNode):
|
|
90
92
|
changed=changed,
|
91
93
|
output=output,
|
92
94
|
dep_m={})
|
95
|
+
|
96
|
+
# if self.save_exec_data:
|
97
|
+
# self._save_exec_data(rundir, ctxt, self.input.input)
|
93
98
|
|
94
99
|
return 0
|
95
100
|
|
{dv_flow_mgr-1.0.0.14420805951a1.dist-info → dv_flow_mgr-1.0.0.14458222178a1.dist-info}/RECORD
RENAMED
@@ -31,11 +31,11 @@ dv_flow/mgr/srcinfo.py,sha256=xrfp-relVr7hYNbxOjY5jqX4H0nNMm9HK5AAM6_Piyk,366
|
|
31
31
|
dv_flow/mgr/task.py,sha256=Xe1sCCTN4yJwhB2Aw_rywdlmVPY2CDnuwZisULuOXhw,2036
|
32
32
|
dv_flow/mgr/task_data.py,sha256=lN7Iq8YTitEMGG4rZqYQi6Ri2HuPgBQ5oGQbW-63T8c,12436
|
33
33
|
dv_flow/mgr/task_def.py,sha256=VAjkFay7KxXfZoloZfbiPr6WhURztV2Dxm6-REMQweo,4912
|
34
|
-
dv_flow/mgr/task_graph_builder.py,sha256=
|
34
|
+
dv_flow/mgr/task_graph_builder.py,sha256=UcmDw7Wn8hYbUOFBeWHHrT2ahTzmxQsRU2xRGswfBf0,17460
|
35
35
|
dv_flow/mgr/task_graph_dot_writer.py,sha256=fZlNR-ZUFsI5FpH1KFCWJcSpyLSKUh8IhHO9Eavc60c,4925
|
36
36
|
dv_flow/mgr/task_listener_log.py,sha256=QH7hAVO1agYJoOx16XqjWv1c-jk5zb6p6A-hic7OMU0,4150
|
37
37
|
dv_flow/mgr/task_node.py,sha256=hPlCcped3nCNgOYj4oysVcxu4cHOIUCBUqAevOr20Lc,5086
|
38
|
-
dv_flow/mgr/task_node_compound.py,sha256=
|
38
|
+
dv_flow/mgr/task_node_compound.py,sha256=6BGcEiFQ69XL2cW9bwvp42Gd2Z3MRRriopo4BtwGccw,3319
|
39
39
|
dv_flow/mgr/task_node_ctor.py,sha256=YsoVMX5WbpbzcHvEK7ps_ZRV-J7MZ3F8NNozQw7vbog,4418
|
40
40
|
dv_flow/mgr/task_node_ctor_compound.py,sha256=290JdcTnL3b3Gv7s_wRLjdM02ezKhc9QnxZE0mv72i8,4379
|
41
41
|
dv_flow/mgr/task_node_ctor_compound_proxy.py,sha256=D8x54nD8Pd-2-_mr1syhqVeSFfIVf100ldi3bdzmSfI,2073
|
@@ -66,9 +66,9 @@ dv_flow/mgr/util/__main__.py,sha256=F0LXpCDpYTPalSo0dc1h_qZkip5v1AZYYh-vcYbh5s0,
|
|
66
66
|
dv_flow/mgr/util/util.py,sha256=cBNt3JJ0PGLlUQFTtBLi12i2j_9gNgSBtKdwS3VfF5Y,1566
|
67
67
|
dv_flow/mgr/util/cmds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
68
68
|
dv_flow/mgr/util/cmds/cmd_schema.py,sha256=IJzZdxCSEgIQ79LpYiM7UqJ9RJ-7yraqmBN2XVgAgXA,1752
|
69
|
-
dv_flow_mgr-1.0.0.
|
70
|
-
dv_flow_mgr-1.0.0.
|
71
|
-
dv_flow_mgr-1.0.0.
|
72
|
-
dv_flow_mgr-1.0.0.
|
73
|
-
dv_flow_mgr-1.0.0.
|
74
|
-
dv_flow_mgr-1.0.0.
|
69
|
+
dv_flow_mgr-1.0.0.14458222178a1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
70
|
+
dv_flow_mgr-1.0.0.14458222178a1.dist-info/METADATA,sha256=zJngrS-fip7f5zN5bkOJRX56xdGx7ygjBAvw3DmoQ2s,13336
|
71
|
+
dv_flow_mgr-1.0.0.14458222178a1.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
72
|
+
dv_flow_mgr-1.0.0.14458222178a1.dist-info/entry_points.txt,sha256=1roy8wAFM48LabOvr6jiOw0MUs-qE8X3Vf8YykPazxk,50
|
73
|
+
dv_flow_mgr-1.0.0.14458222178a1.dist-info/top_level.txt,sha256=amfVTkggzYPtWwLqNmRukfz1Buu0pGS2SrYBBLhXm04,8
|
74
|
+
dv_flow_mgr-1.0.0.14458222178a1.dist-info/RECORD,,
|
{dv_flow_mgr-1.0.0.14420805951a1.dist-info → dv_flow_mgr-1.0.0.14458222178a1.dist-info}/WHEEL
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|