Deduplicate task dependencies

This commit is contained in:
Simon Sapin 2019-11-21 23:25:59 +01:00
parent 203a06ff24
commit 83921dbc99

View file

@ -221,9 +221,14 @@ class Task:
assert CONFIG.decision_task_id assert CONFIG.decision_task_id
assert CONFIG.task_owner assert CONFIG.task_owner
assert CONFIG.task_source assert CONFIG.task_source
def dedup(xs):
seen = set()
return [x for x in xs if not (x in seen or seen.add(x))]
queue_payload = { queue_payload = {
"taskGroupId": CONFIG.decision_task_id, "taskGroupId": CONFIG.decision_task_id,
"dependencies": [CONFIG.decision_task_id] + self.dependencies, "dependencies": dedup([CONFIG.decision_task_id] + self.dependencies),
"schedulerId": self.scheduler_id, "schedulerId": self.scheduler_id,
"provisionerId": self.provisioner_id, "provisionerId": self.provisioner_id,
"workerType": self.worker_type, "workerType": self.worker_type,