1212from aiohttp import web
1313from models_library .projects import ProjectID
1414from models_library .users import UserID
15+ from servicelib .aiohttp .application_keys import APP_FIRE_AND_FORGET_TASKS_KEY
16+ from servicelib .utils import fire_and_forget_task
1517
1618from ..director_v2 import director_v2_service
1719from ..storage .api import delete_data_folders_of_project
@@ -189,21 +191,19 @@ def _log_state_when_done(fut: asyncio.Future):
189191 )
190192
191193 # ------
192-
193- task = asyncio .create_task (
194+ task = fire_and_forget_task (
194195 delete_project (
195196 app ,
196197 project_uuid ,
197198 user_id ,
198199 simcore_user_agent ,
199200 remove_project_dynamic_services ,
200201 ),
201- name = _DELETE_PROJECT_TASK_NAME .format (project_uuid , user_id ),
202+ task_suffix_name = _DELETE_PROJECT_TASK_NAME .format (project_uuid , user_id ),
203+ fire_and_forget_tasks_collection = app [APP_FIRE_AND_FORGET_TASKS_KEY ],
202204 )
203205
204- assert task .get_name () == _DELETE_PROJECT_TASK_NAME .format ( # nosec
205- project_uuid , user_id
206- )
206+ assert task in get_scheduled_tasks (project_uuid , user_id ) # nosec
207207
208208 task .add_done_callback (_log_state_when_done )
209209 return task
@@ -214,5 +214,7 @@ def get_scheduled_tasks(project_uuid: ProjectID, user_id: UserID) -> list[asynci
214214 return [
215215 task
216216 for task in asyncio .all_tasks ()
217- if task .get_name () == _DELETE_PROJECT_TASK_NAME .format (project_uuid , user_id )
217+ if task .get_name ().endswith (
218+ _DELETE_PROJECT_TASK_NAME .format (project_uuid , user_id )
219+ )
218220 ]
0 commit comments