Make traceable tasks

This commit is contained in:
Namhyeon Go 2025-05-24 16:18:43 +09:00
parent c9b6c6a117
commit cb6e25eaa9

View File

@ -26,9 +26,9 @@ namespace WelsonJS.Launcher.ResourceTools
Server = server;
_httpClient = httpClient;
Task.Run(() => DiscoverFromInstalledSoftware());
Task.Run(() => DiscoverFromPathVariable());
Task.Run(() => DiscoverFromProgramDirectories());
Task.Run(async () => await SafeDiscoverAsync(DiscoverFromInstalledSoftware));
Task.Run(async () => await SafeDiscoverAsync(DiscoverFromPathVariable));
Task.Run(async () => await SafeDiscoverAsync(DiscoverFromProgramDirectories));
}
public bool CanHandle(string path)
@ -182,6 +182,18 @@ namespace WelsonJS.Launcher.ResourceTools
DiscoveredExecutables.Add(executableFile);
}
}
private async Task SafeDiscoverAsync(Action discoveryMethod)
{
try
{
await Task.Run(discoveryMethod);
}
catch (Exception ex)
{
Trace.TraceError($"Discovery failed: {ex.Message}");
}
}
}
public class CompletionItem