Anthony Reksoatmodjo
09/09/2022, 4:39 PMdaniel
09/09/2022, 4:46 PMSaul Burgos
09/09/2022, 4:47 PMAnthony Reksoatmodjo
09/09/2022, 4:49 PMRepositoryData
yes. Please ignore the mess in _construct_job_def_from_filename
class DynamicRepo(RepositoryData):
def __init__(self, yaml_filename: str):
yaml_filepath = Path(__file__).parent / yaml_filename
assert yaml_filepath.is_file()
self._yaml_filepath = yaml_filepath
self._filenames = self._update_filenames_from_yaml()
def get_all_pipelines(self):
return [self._construct_job_def_from_filename(fn) for fn in self._filenames]
def _construct_job_def_from_filename(self, filename: str):
module_name = filename
sys.path.insert(0, str(Path(__file__).parent)) # Modify path to find local imports
module = importlib.import_module(module_name, 'jobs')
job_name = filename.split('.')[1] + '_job'
return module.__dict__[job_name]
def _update_filenames_from_yaml(self) -> list[str]:
with open(self._yaml_filepath, "r") as f:
yml = yaml.safe_load(f)
if "generated_jobs" in yml.keys():
return yml["generated_jobs"]
ReloadWorkspaceMutation
only asks the gRPC server if it's there, but doesn't trigger an internal reload.Jean Gonzalez
09/09/2022, 4:55 PMAnthony Reksoatmodjo
09/09/2022, 5:04 PMrepo.py
on my local machine, then hosted on a grpc server with the following args:
api grpc --python-file /parent/path/repo.py --working-directory /parent/path --host 0.0.0.0 --port 4266
daniel
09/09/2022, 6:15 PMAnthony Reksoatmodjo
09/09/2022, 6:22 PMJakub Zgrzebnicki
12/02/2022, 10:37 AMAnthony Reksoatmodjo
01/05/2023, 10:21 PM