У меня есть приложение, которое обрабатывает передачу файлов.В некоторых случаях мне нужно запустить некоторые исполняемые файлы до / после обработки, которые работают с файлами.
Таким образом, порядок событий (вкратце) будет таким:
- Рабочий поток создан
- Рабочий понимает, что ему нужно запустить исполняемый файл предварительного процесса перед началом передачи Предварительный процесс запущен, рабочий ждет ... если он ждет слишком долго, передача не произойдет, и поток не будет выполнендолжно завершиться изящно
- Файл передан
- Рабочий понимает, что ему нужно запустить исполняемый файл пост-процесса после завершения передачи
- Запущен пост-процесс, работник нене нужно ждать
По сути, мне все равно, сколько времени исполняется исполняемый файл после процесса после передачи.Следовательно, следует ли ожидать каких-либо проблем, если я запускаю процесс из потока, который затем возвращается в пул?
// Пост-процесс
Process process = null;
ProcessStartInfo psi = new ProcessStartInfo(executable, args);
psi.UseShellExecute = true;
try
{
process = Process.Start(psi);
//The pre-process simply calls Process.WaitForExit(timeout value)
launched = true;
}
catch (InvalidOperationException) { }
catch (ArgumentException) { }
catch (System.ComponentModel.Win32Exception) { }
catch (System.IO.FileNotFoundException) { }