From 1c6449907a4bf699c64deb7ad6baa06b7f26860d Mon Sep 17 00:00:00 2001 From: matusdrobuliak66 Date: Tue, 7 Jan 2025 13:58:27 +0100 Subject: [PATCH 1/2] run in executor --- .../src/simcore_service_efs_guardian/services/efs_manager.py | 4 +++- tests/e2e-playwright/tests/conftest.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/services/efs-guardian/src/simcore_service_efs_guardian/services/efs_manager.py b/services/efs-guardian/src/simcore_service_efs_guardian/services/efs_manager.py index 1963003232ba..130196fb5ce0 100644 --- a/services/efs-guardian/src/simcore_service_efs_guardian/services/efs_manager.py +++ b/services/efs-guardian/src/simcore_service_efs_guardian/services/efs_manager.py @@ -1,3 +1,4 @@ +import asyncio import logging import os import shutil @@ -153,7 +154,8 @@ async def remove_project_efs_data(self, project_id: ProjectID) -> None: if Path.exists(_dir_path): # Remove the directory and all its contents try: - shutil.rmtree(_dir_path) + loop = asyncio.get_event_loop() + await loop.run_in_executor(None, shutil.rmtree, _dir_path) _logger.info("%s has been deleted.", _dir_path) except FileNotFoundError: _logger.exception("Directory %s does not exist.", _dir_path) diff --git a/tests/e2e-playwright/tests/conftest.py b/tests/e2e-playwright/tests/conftest.py index 085e74b15fe9..43918d8601c8 100644 --- a/tests/e2e-playwright/tests/conftest.py +++ b/tests/e2e-playwright/tests/conftest.py @@ -417,7 +417,7 @@ def log_in_and_out( def _open_with_resources(page: Page, *, click_it: bool): study_title_field = page.get_by_test_id("studyTitleField") # wait until the title is automatically filled up - expect(study_title_field).not_to_have_value("") + expect(study_title_field).not_to_have_value("", timeout=30000) open_with_resources_button = page.get_by_test_id("openWithResources") if click_it: From 0c476e1d7faf19ac3ee8b1ff163ba22e3e129b2e Mon Sep 17 00:00:00 2001 From: matusdrobuliak66 Date: Wed, 8 Jan 2025 13:51:59 +0100 Subject: [PATCH 2/2] reuse remove_directory function --- .../simcore_service_efs_guardian/services/efs_manager.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/services/efs-guardian/src/simcore_service_efs_guardian/services/efs_manager.py b/services/efs-guardian/src/simcore_service_efs_guardian/services/efs_manager.py index 130196fb5ce0..88016b1617bb 100644 --- a/services/efs-guardian/src/simcore_service_efs_guardian/services/efs_manager.py +++ b/services/efs-guardian/src/simcore_service_efs_guardian/services/efs_manager.py @@ -1,7 +1,5 @@ -import asyncio import logging import os -import shutil from dataclasses import dataclass from pathlib import Path @@ -9,6 +7,7 @@ from models_library.projects import ProjectID from models_library.projects_nodes_io import NodeID from pydantic import ByteSize, TypeAdapter, ValidationError +from servicelib.file_utils import remove_directory from ..core.settings import ApplicationSettings, get_application_settings from . import efs_manager_utils @@ -154,8 +153,7 @@ async def remove_project_efs_data(self, project_id: ProjectID) -> None: if Path.exists(_dir_path): # Remove the directory and all its contents try: - loop = asyncio.get_event_loop() - await loop.run_in_executor(None, shutil.rmtree, _dir_path) + await remove_directory(_dir_path) _logger.info("%s has been deleted.", _dir_path) except FileNotFoundError: _logger.exception("Directory %s does not exist.", _dir_path)