From 79d5b5dc384ba22010ae00fa1e70729f6291ac8c Mon Sep 17 00:00:00 2001 From: Mark Street Date: Tue, 28 Jan 2025 10:41:18 +0000 Subject: [PATCH] try/catch/finally in download.py to avoid deadlock --- backend/compilers/download.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/backend/compilers/download.py b/backend/compilers/download.py index 643f26bf4..8e18e8eea 100755 --- a/backend/compilers/download.py +++ b/backend/compilers/download.py @@ -247,15 +247,16 @@ def __init__( def run(self): while True: try: - try: - item = self.download_queue.get_nowait() - except queue.Empty: - break + item = self.download_queue.get_nowait() + except queue.Empty: + break + + try: self.process_item(item) - self.download_queue.task_done() except Exception as e: logger.error("Exception thrown while processing item: %s", e) - break + finally: + self.download_queue.task_done() def process_item(self, item): platform_id, compiler_id = item @@ -305,7 +306,7 @@ def main(): help="Name of github repo that owns the packages", ) parser.add_argument( - "--threads", type=int, default=4, help="Number of download threads to use" + "--threads", type=int, default=8, help="Number of download threads to use" ) parser.add_argument("--verbose", action="store_true", help="Enable DEBUG log level") args = parser.parse_args()