Merge "Add a reset nodes function"
This commit is contained in:
@@ -215,19 +215,19 @@ class FutureGraphAction(object):
|
|||||||
next_nodes.add(node)
|
next_nodes.add(node)
|
||||||
return next_nodes
|
return next_nodes
|
||||||
|
|
||||||
def reset_all(self):
|
def _reset_nodes(self, nodes_iter, intention=st.EXECUTE):
|
||||||
self._retry_subflow(None)
|
|
||||||
|
|
||||||
def _retry_subflow(self, retry):
|
|
||||||
if retry is not None:
|
|
||||||
self._storage.set_atom_intention(retry.name, st.EXECUTE)
|
|
||||||
nodes_iter = self._analyzer.iterate_subgraph(retry)
|
|
||||||
else:
|
|
||||||
nodes_iter = self._analyzer.iterate_all_nodes()
|
|
||||||
|
|
||||||
for node in nodes_iter:
|
for node in nodes_iter:
|
||||||
if isinstance(node, task.BaseTask):
|
if isinstance(node, task.BaseTask):
|
||||||
self._task_action.change_state(node, st.PENDING, progress=0.0)
|
self._task_action.change_state(node, st.PENDING, progress=0.0)
|
||||||
else:
|
elif isinstance(node, r.Retry):
|
||||||
self._retry_action.change_state(node, st.PENDING)
|
self._retry_action.change_state(node, st.PENDING)
|
||||||
self._storage.set_atom_intention(node.name, st.EXECUTE)
|
else:
|
||||||
|
raise TypeError("Unknown how to reset node %s" % node)
|
||||||
|
self._storage.set_atom_intention(node.name, intention)
|
||||||
|
|
||||||
|
def reset_all(self):
|
||||||
|
self._reset_nodes(self._analyzer.iterate_all_nodes())
|
||||||
|
|
||||||
|
def _retry_subflow(self, retry):
|
||||||
|
self._storage.set_atom_intention(retry.name, st.EXECUTE)
|
||||||
|
self._reset_nodes(self._analyzer.iterate_subgraph(retry))
|
||||||
|
|||||||
Reference in New Issue
Block a user