From 70f067f74718b660578be6c42349277065e2b8e4 Mon Sep 17 00:00:00 2001 From: Owen Date: Tue, 17 Dec 2024 11:23:50 +0100 Subject: [PATCH] delete files as task --- lib/plantid_discord_bot/file_server/file.ex | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/plantid_discord_bot/file_server/file.ex b/lib/plantid_discord_bot/file_server/file.ex index 83e87f7..499c79b 100644 --- a/lib/plantid_discord_bot/file_server/file.ex +++ b/lib/plantid_discord_bot/file_server/file.ex @@ -59,7 +59,19 @@ defmodule PlantIdDiscordBot.FileServer.File do # TODO make into a task for async deletion and deal with errors @spec delete_files!([String.t()]) :: :ok def delete_files!(filenames) do - Enum.each(filenames, &File.rm!(Path.join(@image_path, &1))) + tasks = + Enum.map(filenames, fn filename -> + Task.async(fn -> + try do + File.rm!(Path.join(@image_path, filename)) + rescue + # TODO Logger + e -> IO.inspect(e) + end + end) + end) + + Enum.map(tasks, &Task.await/1) end @spec download_file!(String.t()) :: binary