我想在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,检查作业的状态(即在此基本示例中运行或失败,但实际上我需要做更多),然后重新启动任何失败的作业,但不执行JobController的子项。我不需要解析逻辑方面的帮助,而需要协调解决方案的方式。
关于如何实现此目标的任何想法?
一个后备计划是将所有作业JobNum1,JobNum2 ...作为JobController的Child-Items启动,但是调优和调试将很痛苦。我也欢迎其他解决方案和聪明的主意。
谢谢!
菲利普