From 4a80243d6bca4195b2d5176313b162ed5d088970 Mon Sep 17 00:00:00 2001 From: Bulat Kurbanov Date: Tue, 26 Apr 2022 10:33:25 +0300 Subject: [PATCH] Fix cancelation --- src/app/services/fl_downloader.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/app/services/fl_downloader.py b/src/app/services/fl_downloader.py index fa31d6a..6d64e53 100644 --- a/src/app/services/fl_downloader.py +++ b/src/app/services/fl_downloader.py @@ -105,7 +105,13 @@ class FLDownloader(BaseDownloader): await data[0].aclose() await data[1].aclose() - except (NotSuccess, ReceivedHTML, ConvertationError, FileNotFoundError): + except ( + NotSuccess, + ReceivedHTML, + ConvertationError, + FileNotFoundError, + ValueError, + ): continue async def _wait_until_some_done( @@ -122,8 +128,9 @@ class FLDownloader(BaseDownloader): try: data = task.result() - for p_task in pending: - p_task.cancel() + await self._close_other_done( + {ttask for ttask in pending if not ttask.cancel()} + ) await self._close_other_done( {ttask for ttask in done if ttask != task}