|
@@ -296,7 +296,7 @@ class Task(object):
|
|
|
self.children = WeakSet(
|
|
|
self.cluster_state.tasks.get(task_id)
|
|
|
for task_id in children or ()
|
|
|
- if task_id in self.cluster_state.tasks
|
|
|
+ if self.cluster_state is not None and task_id in self.cluster_state.tasks
|
|
|
)
|
|
|
self._serializer_handlers = {
|
|
|
'children': self._serializable_children,
|
|
@@ -384,11 +384,19 @@ class Task(object):
|
|
|
|
|
|
@cached_property
|
|
|
def parent(self):
|
|
|
- return self.parent_id and self.cluster_state.tasks[self.parent_id]
|
|
|
+ # issue github.com/mher/flower/issues/648
|
|
|
+ try:
|
|
|
+ return self.parent_id and self.cluster_state.tasks[self.parent_id]
|
|
|
+ except KeyError:
|
|
|
+ return None
|
|
|
|
|
|
@cached_property
|
|
|
def root(self):
|
|
|
- return self.root_id and self.cluster_state.tasks[self.root_id]
|
|
|
+ # issue github.com/mher/flower/issues/648
|
|
|
+ try:
|
|
|
+ return self.root_id and self.cluster_state.tasks[self.root_id]
|
|
|
+ except KeyError:
|
|
|
+ return None
|
|
|
|
|
|
|
|
|
class State(object):
|