Skip to content

Commit b9fcb42

Browse files
authored
Merge pull request #278 from kids-first/add-studies
✨ Include studies when communicating with tasks
2 parents d005481 + e278782 commit b9fcb42

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

coordinator/tasks.py

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,11 +94,13 @@ def init_task(release_id, task_service_id, task_id):
9494
release = Release.objects.select_related().get(kf_id=release_id)
9595
service = TaskService.objects.get(kf_id=task_service_id)
9696
task = Task.objects.get(kf_id=task_id)
97+
studies = [study.kf_id for study in release.studies.all()]
9798

9899
body = {
99100
"action": "initialize",
100101
"task_id": task.kf_id,
101102
"release_id": release.kf_id,
103+
"studies": studies,
102104
}
103105
failed = False
104106
resp = None
@@ -149,6 +151,7 @@ def start_release(release_id):
149151
"""
150152
logger.info(f"Starting release {release_id}")
151153
release = Release.objects.select_related().get(kf_id=release_id)
154+
studies = [study.kf_id for study in release.studies.all()]
152155

153156
release.start()
154157
release.save()
@@ -158,6 +161,7 @@ def start_release(release_id):
158161
"action": "start",
159162
"task_id": task.kf_id,
160163
"release_id": release.kf_id,
164+
"studies": studies,
161165
}
162166
failed = False
163167
resp = None
@@ -220,6 +224,7 @@ def publish_release(release_id):
220224
logger.info(f"Publishing release {release_id}")
221225

222226
release = Release.objects.select_related().get(kf_id=release_id)
227+
studies = [study.kf_id for study in release.studies.all()]
223228
release.publish()
224229
tasks = release.tasks.all()
225230

@@ -235,6 +240,7 @@ def publish_release(release_id):
235240
"action": "publish",
236241
"task_id": task.kf_id,
237242
"release_id": release.kf_id,
243+
"studies": studies,
238244
}
239245
failed = False
240246
resp = None
@@ -268,10 +274,15 @@ def publish_release(release_id):
268274
)
269275
failed = True
270276

271-
if (resp and 'state' in resp.json() and
272-
resp.json()['state'] != 'publishing'):
273-
logger.error(f'invalid state returned from task for publish: ' +
274-
f'{resp.content}')
277+
if (
278+
resp
279+
and "state" in resp.json()
280+
and resp.json()["state"] != "publishing"
281+
):
282+
logger.error(
283+
f"invalid state returned from task for publish: "
284+
+ f"{resp.content}"
285+
)
275286
failed = True
276287

277288
if failed:
@@ -296,6 +307,7 @@ def cancel_release(release_id, fail=False):
296307
)
297308

298309
release = Release.objects.get(kf_id=release_id)
310+
studies = [study.kf_id for study in release.studies.all()]
299311

300312
# In case another task has already canceled or failed this release
301313
if release.state in ["canceled", "failed"]:
@@ -312,6 +324,7 @@ def cancel_release(release_id, fail=False):
312324
"action": "cancel",
313325
"task_id": task.kf_id,
314326
"release_id": release.kf_id,
327+
"studies": studies,
315328
}
316329
try:
317330
requests.post(

0 commit comments

Comments
 (0)