Skip to content

Commit fb0d754

Browse files
committed
Accumulate failed and success statuses from asynchronously processed data blocks
1 parent 9942b97 commit fb0d754

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

src/datalab_api/_base.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -327,24 +327,24 @@ def _handle_response(
327327

328328
return data
329329

330-
def check_tasks(self) -> set[str]:
330+
def check_tasks(self) -> tuple[set[str], set[str]]:
331331
"""Check the status of any triggered tasks, returning any that have completed."""
332-
if not self.triggered_block_task_ids:
333-
return set()
334-
335332
completed_tasks = set()
333+
error_tasks = set()
336334

337335
for task_id in self.triggered_block_task_ids:
338336
try:
339337
response = self._get(f"{self.datalab_api_url}/blocks/{task_id}/status")
340338
task_status = response["status"]
341339
if task_status == "ready":
342-
self.triggered_block_task_ids.remove(task_id)
343340
completed_tasks.add(task_id)
344341
except DatalabAPIError:
345-
self.triggered_block_task_ids.remove(task_id)
342+
error_tasks.add(task_id)
343+
344+
self.triggered_block_task_ids -= completed_tasks
345+
self.triggered_block_task_ids -= error_tasks
346346

347-
return completed_tasks
347+
return completed_tasks, error_tasks
348348

349349
def _request(
350350
self, method: str, url: str, expected_status: Union[int, list[int]] = 200, **kwargs

0 commit comments

Comments
 (0)