Skip to content

Commit

Permalink
fix(dependencies): load dependencies for DAGs recursively
Browse files Browse the repository at this point in the history
  • Loading branch information
mostaphaRoudsari committed Feb 13, 2021
1 parent 725fa0a commit 28c3f19
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 2 deletions.
1 change: 0 additions & 1 deletion pollination_dsl/common.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from dataclasses import dataclass
from typing import NamedTuple, Dict, List
import importlib
from collections import namedtuple
import importlib_metadata
import re
Expand Down
10 changes: 9 additions & 1 deletion pollination_dsl/dag/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ def _dependencies(self):
cls = self.__class__
dag_package = self._package
dependencies = {'plugin': [], 'recipe': [], 'dag': []}
for method_name, method in inspect.getmembers(cls):
for _, method in inspect.getmembers(cls):
# try to get decorator
qb_dec = getattr(method, '__decorator__', None)
if qb_dec == 'task':
Expand All @@ -122,4 +122,12 @@ def _dependencies(self):
if tt._package not in dependencies['plugin']:
dependencies['plugin'].append(tt._package)

# add dependencies of dag dependencies
for dag in dependencies['dag']:
deps = dag._dependencies
for key, sub_deps in deps.items():
for v in sub_deps:
if v not in dependencies[key]:
dependencies[key].append(v)

return dependencies

0 comments on commit 28c3f19

Please sign in to comment.