我有几项工作想在 PowerShell 中编排和监控。所有这些都是 -scriptblock 作业,因此每个都在自己的环境中运行。
$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,检查作业的状态(即在这个基本示例中运行或失败,但我实际上需要做更多)并重新启动任何失败的作业,但不是作为子项工作控制器。我不需要解析逻辑上的帮助,而是编排解决方案的方式。
关于如何实现这一目标的任何想法?
一个后备计划是将所有作业 JobNum1、JobNum2... 作为 JobController 的子项启动,但是调整和调试会很痛苦。我也对其他解决方案和聪明的想法持开放态度。
提前致谢 !
菲利普