remove job files on session destroy

This commit is contained in:
henryruhs
2026-09-12 18:58:28 +02:00
parent 6abc7d58cb
commit c9802d9c59
2 changed files with 11 additions and 0 deletions
+7
View File
@@ -81,6 +81,7 @@ async def refresh_session(request : Request) -> JSONResponse:
async def destroy_session(request : Request) -> JSONResponse:
session_id = session_context.get_session_id()
temp_path = state_manager.get_temp_path()
jobs_path = state_manager.get_jobs_path()
if is_directory(temp_path) and not remove_directory(temp_path):
return JSONResponse(
@@ -88,6 +89,12 @@ async def destroy_session(request : Request) -> JSONResponse:
'message': translator.get('directory_not_removed', 'facefusion.apis')
}, status_code = HTTP_404_NOT_FOUND)
if is_directory(jobs_path) and not remove_directory(jobs_path):
return JSONResponse(
{
'message': translator.get('directory_not_removed', 'facefusion.apis')
}, status_code = HTTP_404_NOT_FOUND)
destroy_stream()
asset_store.delete_assets()
+4
View File
@@ -199,12 +199,15 @@ def test_destroy_session(test_client : TestClient) -> None:
'client_version': metadata.get('version')
})
access_token = create_session_response.json().get('access_token')
session_id = session_manager.find_session_id(access_token)
jobs_path = os.path.join(get_test_jobs_directory(), session_id)
delete_session_response = test_client.delete('/session', headers =
{
'Authorization': 'Bearer INVALID'
})
assert os.path.isdir(jobs_path) is True
assert delete_session_response.status_code == 401
delete_session_response = test_client.delete('/session', headers =
@@ -212,6 +215,7 @@ def test_destroy_session(test_client : TestClient) -> None:
'Authorization': 'Bearer ' + access_token
})
assert os.path.isdir(jobs_path) is False
assert session_manager.find_session_id(access_token) is None
assert delete_session_response.status_code == 200