Skip to content

Commit 684c8ea

Browse files
authored
Merge pull request #78 from ftschirpke/fix-abstract-recipe-generation
fix: used task's id instead of name in abstract recipe generation
2 parents f320305 + c92ba62 commit 684c8ea

2 files changed

Lines changed: 19 additions & 19 deletions

File tree

wfcommons/wfchef/wfchef_abstract_recipe.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -177,36 +177,36 @@ def build_workflow(self, workflow_name: Optional[str] = None) -> Workflow:
177177
makespan=0)
178178
graph = self.generate_nx_graph()
179179

180-
task_names = {}
180+
task_ids = {}
181181
for node in graph.nodes:
182182
if node in ["SRC", "DST"]:
183183
continue
184184
node_type = graph.nodes[node]["type"]
185-
task_name = self._generate_task_name(node_type)
186-
task = self._generate_task(node_type, task_name)
185+
task_id = self._generate_task_name(node_type)
186+
task = self._generate_task(node_type, task_id)
187187
workflow.add_task(task)
188188

189-
task_names[node] = task_name
189+
task_ids[node] = task_id
190190

191191
# tasks dependencies
192192
for (src, dst) in graph.edges:
193193
if src in ["SRC", "DST"] or dst in ["SRC", "DST"]:
194194
continue
195-
workflow.add_dependency(task_names[src], task_names[dst])
195+
workflow.add_dependency(task_ids[src], task_ids[dst])
196196

197-
if task_names[src] not in self.tasks_children:
198-
self.tasks_children[task_names[src]] = []
199-
if task_names[dst] not in self.tasks_parents:
200-
self.tasks_parents[task_names[dst]] = []
197+
if task_ids[src] not in self.tasks_children:
198+
self.tasks_children[task_ids[src]] = []
199+
if task_ids[dst] not in self.tasks_parents:
200+
self.tasks_parents[task_ids[dst]] = []
201201

202-
self.tasks_children[task_names[src]].append(task_names[dst])
203-
self.tasks_parents[task_names[dst]].append(task_names[src])
202+
self.tasks_children[task_ids[src]].append(task_ids[dst])
203+
self.tasks_parents[task_ids[dst]].append(task_ids[src])
204204

205205
# find leaf tasks
206206
leaf_tasks = []
207207
for node_name in workflow.nodes:
208208
task: Task = workflow.nodes[node_name]['task']
209-
if task.name not in self.tasks_children:
209+
if task.task_id not in self.tasks_children:
210210
leaf_tasks.append(task)
211211

212212
for task in leaf_tasks:

wfcommons/wfgen/abstract_recipe.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -196,8 +196,8 @@ def _generate_task_files(self, task: Task) -> List[File]:
196196
:return: List of files output files.
197197
:rtype: List[File]
198198
"""
199-
if task.name in self.tasks_output_files.keys():
200-
return self.tasks_output_files[task.name]
199+
if task.task_id in self.tasks_output_files.keys():
200+
return self.tasks_output_files[task.task_id]
201201

202202
task_recipe = self._workflow_recipe()[task.name]
203203

@@ -208,19 +208,19 @@ def _generate_task_files(self, task: Task) -> List[File]:
208208
# obtain input files from parents
209209
input_files = []
210210

211-
if task.name in self.tasks_parents.keys():
212-
for parent_task_name in self.tasks_parents[task.name]:
211+
if task.task_id in self.tasks_parents.keys():
212+
for parent_task_name in self.tasks_parents[task.task_id]:
213213
output_files = self._generate_task_files(self.tasks_map[parent_task_name])
214214
self.tasks_output_files.setdefault(parent_task_name, [])
215215
self.tasks_output_files[parent_task_name] = output_files
216216
input_files.extend(output_files)
217217

218218
for input_file in input_files:
219-
if input_file not in self.tasks_files_names[task.task_id]:
220-
self.tasks_files[task.task_id].append(File(name=input_file,
219+
if input_file.file_id not in self.tasks_files_names[task.task_id]:
220+
self.tasks_files[task.task_id].append(File(file_id=input_file.file_id,
221221
link=FileLink.INPUT,
222222
size=input_file.size))
223-
self.tasks_files_names[task.task_id].append(input_file)
223+
self.tasks_files_names[task.task_id].append(input_file.file_id)
224224

225225
# generate additional input files
226226
self._generate_files(task.task_id, task_recipe['input'], FileLink.INPUT)

0 commit comments

Comments
 (0)