Skip to content

Commit a9efa89

Browse files
committed
#591: add other way to assign tasks
1 parent 1be6d0d commit a9efa89

File tree

1 file changed

+7
-15
lines changed

1 file changed

+7
-15
lines changed

src/lbaf/Utils/lbsJSONSpecFileMaker.py

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ def assertAllTasksHaveBeenAssigned_(self):
7272
for t in self.tasks.keys():
7373
assert t in self.assignments, \
7474
f"Task {t} has not been assigned. Call " \
75-
f"assignTask({t}, <rank_id>, <phase_id>)"
75+
f"assignTask({t}, <rank_id>)"
7676

7777

7878

@@ -137,27 +137,17 @@ def createRank(self,
137137
rank = RankSpecification({
138138
"id": id
139139
})
140-
140+
self.ranks[id] = rank
141141
# Optionally add tasks to the rank
142-
t_set : Set[TaskSpecification] = set()
143142
if tasks is not None:
144143
for t in tasks:
145-
if isinstance(t, int):
146-
t_set.add(t)
147-
elif isinstance(t, dict):
148-
t_set.add(t["seq_id"])
149-
else:
150-
raise RuntimeError(
151-
f"Tasks must be either ints (seq_ids) or TaskSpecifications."
152-
)
153-
rank["tasks"] = t_set
144+
self.assignTask(t, id)
154145

155146
# Optionally add user_defined info to the rank
156147
if user_defined is not None:
157-
rank["user_defined"] = user_defined
148+
self.ranks[id]["user_defined"] = user_defined
158149

159-
self.ranks[id] = rank
160-
return rank
150+
return self.ranks[id]
161151

162152
def assignTask(self,
163153
task: Union[int, TaskSpecification],
@@ -176,6 +166,8 @@ def assignTask(self,
176166
t["home"] = rank_id
177167
if t["node"] == -1:
178168
t["node"] = rank_id
169+
if "tasks" not in r:
170+
r["tasks"] = set()
179171
r["tasks"].add(task_id)
180172

181173
# If the task belongs to a shared_block,

0 commit comments

Comments
 (0)