tango
tango copied to clipboard
Is it possible to reuse a step's output for other two steps (avoid reruning the shared step)
For example,
@Step.register("share")
class Share(Step):
CACHEABLE = False
def run(self):
...
@Step.register("a")
class StepA(Step):
def run(self, foo):
...
@Step.register("b")
class StepB(Step):
def run(self, foo):
...
And the config file
steps: {
share: {type: "share"},
A: {type: "a", foo: {type:"ref", ref:"share"}},
B: {type: "b", foo: {type:"ref", ref:"share"}},
}
Currently, it seems that both StepA and StepB will run the step Share. i.e. the step Share will be executed twice, once for A and once for B. Currently is it possible to just run step Share once and use the result for both StepA and StepB? I don't want to make step Share cacheable.
I just wonder if it is possible.... Just reply me with a "no" if it is not possible...
@Boltzmachine Currently, you have set CACHEABLE = False for Share step. If you set it to True, it will cache the output, and the step will be run only once.