From eaff9acd00479fcd4d0ae70aedbf2d69a0fa14e1 Mon Sep 17 00:00:00 2001 From: Pradip-p Date: Wed, 9 Oct 2024 10:23:44 +0545 Subject: [PATCH 1/2] fix: added asyncio event loop to call async update_task_state in process_images_from_s3 --- src/backend/app/projects/image_processing.py | 26 +++++++++++--------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/src/backend/app/projects/image_processing.py b/src/backend/app/projects/image_processing.py index 741ed571..302623fa 100644 --- a/src/backend/app/projects/image_processing.py +++ b/src/backend/app/projects/image_processing.py @@ -10,7 +10,7 @@ from loguru import logger as log from concurrent.futures import ThreadPoolExecutor from psycopg import Connection - +import asyncio class DroneImageProcessor: def __init__( @@ -125,7 +125,7 @@ def download_results(self, task, output_path): log.info("Download completed.") return path - async def process_images_from_s3(self, bucket_name, name=None, options=[]): + def process_images_from_s3(self, bucket_name, name=None, options=[]): """ Processes images from MinIO storage. @@ -156,15 +156,19 @@ async def process_images_from_s3(self, bucket_name, name=None, options=[]): s3_path = f"projects/{self.project_id}/{self.task_id}/assets.zip" add_file_to_bucket(bucket_name, path_to_download, s3_path) # now update the task as completed in Db. - await task_logic.update_task_state( - self.db, - self.project_id, - self.task_id, - self.user_id, - "Task completed.", - State.IMAGE_UPLOADED, - State.IMAGE_PROCESSED, - timestamp(), + # Call the async function using asyncio + loop = asyncio.get_event_loop() + loop.run_until_complete( + task_logic.update_task_state( + self.db, + self.project_id, + self.task_id, + self.user_id, + "Task completed.", + State.IMAGE_UPLOADED, + State.IMAGE_PROCESSED, + timestamp(), + ) ) return task From f361b6cf330c8ee57d6fd1cdb18dd9c712eb4d6e Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 04:42:07 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/backend/app/projects/image_processing.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/backend/app/projects/image_processing.py b/src/backend/app/projects/image_processing.py index 302623fa..d784ce24 100644 --- a/src/backend/app/projects/image_processing.py +++ b/src/backend/app/projects/image_processing.py @@ -12,6 +12,7 @@ from psycopg import Connection import asyncio + class DroneImageProcessor: def __init__( self,