From 6722b83ce985673ae96d3370abbb3b871767d99c Mon Sep 17 00:00:00 2001 From: barrierye Date: Wed, 1 Jul 2020 19:07:44 +0800 Subject: [PATCH] update dag builder --- python/pipeline/operator.py | 11 ++++++++++- python/pipeline/operator.pyc | Bin 16284 -> 0 bytes 2 files changed, 10 insertions(+), 1 deletion(-) delete mode 100644 python/pipeline/operator.pyc diff --git a/python/pipeline/operator.py b/python/pipeline/operator.py index 1fdd789d..7ba5e52c 100644 --- a/python/pipeline/operator.py +++ b/python/pipeline/operator.py @@ -450,13 +450,22 @@ class VirtualOp(Op): def add_virtual_pred_op(self, op): self._virtual_pred_ops.append(op) + def _actual_pred_op_names(self, op): + if not isinstance(op, VirtualOp): + return [op.name] + names = [] + for x in op._virtual_pred_ops: + names.extend(self._actual_pred_op_names(x)) + return names + def add_output_channel(self, channel): if not isinstance(channel, (ThreadChannel, ProcessChannel)): raise TypeError( self._log('output channel must be Channel type, not {}'.format( type(channel)))) for op in self._virtual_pred_ops: - channel.add_producer(op.name) + for op_name in self._actual_pred_op_names(op): + channel.add_producer(op_name) self._outputs.append(channel) def _run(self, concurrency_idx, input_channel, output_channels, diff --git a/python/pipeline/operator.pyc b/python/pipeline/operator.pyc deleted file mode 100644 index 5720850e23cc9f7c7276ba36f3acd8ce0aa6fa7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16284 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 G(f