Tasks in graph_flow could be ignored
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
taskflow |
Won't Fix
|
High
|
Timofey Durakov |
Bug Description
If task in graph flow have 2 or more predecessors even if one of them is marked as ignored, task would be ignored too.
Here is example code snippet:
def allow(history):
print(history)
return False
# Declare our work to be done...
r = gf.Flow("root")
r_a = DummyTask('r-a')
r_b = DummyTask('r-b')
r_c = DummyTask('r-c')
r_d = DummyTask('r-d', parents_
r.add(r_a, r_b, r_c, r_d)
r.link(r_a, r_b)
r.link(r_a, r_c, decider=allow)
r.link(r_b, r_d)
r.link(r_c, r_d)
# Setup and run the engine layer.
e = engines.load(r)
e.compile()
e.prepare()
e.run()
`r_d` task wouldn't be executed
To fix that is possible to add new attribute to BaseTask class, which should describe dependency between predecessors and current task execution. Possible values could be `ANY`, and `ALL`.
Changed in taskflow: | |
status: | New → Confirmed |
assignee: | nobody → Timofey Durakov (tdurakov) |
Changed in taskflow: | |
importance: | Undecided → High |
Changed in taskflow: | |
status: | In Progress → Won't Fix |
Fix proposed to branch: master /review. openstack. org/208468
Review: https:/