У меня есть несколько заданий, которые я хотел бы организовать и контролировать в PowerShell.Все это задания -скриптоблоков, поэтому каждый из них выполняется в своей среде.
$Job_List = JobNum1, JobNum2, JobNum3, JobNum4, JobNum5
PS > Get-Job
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
1 JobNum1 BackgroundJob Running True localhost & $args[0] ; while($t...
3 JobNum2 BackgroundJob Running True localhost & $args[0] ; while($t...
5 JobNum3 BackgroundJob Running True localhost & $args[0] ; while($t...
7 JobNum4 BackgroundJob Running True localhost & $args[0] ; Send-Com...
9 JobNum5 BackgroundJob Running True localhost & $args[0] ; while($t...
В идеале, на «том же уровне», что и мои задания (то есть не то, что выполняет мои задания в качестве ChildJobs, что является одним измои запасные идеи), я хотел бы добавить контрольное задание.
11 JobController BackgroundJob Running True localhost & $args[0] ; while($t...
Контрольное задание будет через регулярный интервал анализировать мой $ Job_List, проверять состояние задания (т. е. запущено или не выполнено в этом базовом примере), но на самом деле мне нужно сделать больше) и перезапустить любое неудачное задание, но не как дочерний элемент JobController.Мне не нужна помощь по логике синтаксического анализа, а скорее по пути организации решения.
Любая идея о том, как этого добиться?
Один запасной план - запустить всеjobs JobNum1, JobNum2 ... как дочерние элементы JobController, но настройка и отладка будут болезненными.Я также открыт для других решений и умных идей.
Заранее спасибо!
Филипп