跨机器管理流程工作流的程序?

Jus*_*son 5 remote-access process scheduling

我有一个非常需要重构的内部 Perl 脚本。为了不重新发明轮子,我想看看是否存在与它等效的开源软件,但我很难找到。

该脚本在所有主机上作为守护程序运行,并允许我执行以下操作:

  1. 在 Host1 上运行 ProcessA。
  2. 在 Host2 上,一旦 ProcessA 在 Host1 上成功完成,运行 ProcessB。
  3. 在 Host1 上,一旦 ProcessB 在 Host2 上成功完成,运行 ProcessC。

无论如何,这都不是火箭科学,但我似乎找不到任何可以复制该功能的东西。 RunDeck 很接近,但我看不到哪里可以跨不同主机管理流程工作流。

这里有人有什么我应该调查的吗?

小智 2

这可以通过RunDeck来完成,为每个单独的主机步骤使用一个作业,并使用一个更高级别的作业来协调这些作业。尽管 rundeck在工作流程中没有达到这种级别的协调,但它确实允许您将多个作业链接在一起以获得相同的效果

例如:

  1. 为每个操作“在主机 Y 上运行 processX”(JobA-C) 创建一个作业。这些作业将使用节点调度功能和正确的过滤器来仅应用于主机Y。

  2. 创建一个顶级作业,其工作流程使用作业引用按顺序执行作业 AC,而不是使用节点调度。

运行顶级作业将逐步执行并按顺序运行其他作业,等待每个作业完成后再进入下一步。

您可以将顶级作业配置为“继续”:也就是说,即使其中一个步骤失败,也继续执行所有后续步骤。

您还可以将较低级别的作业配置为并行定位多个节点,而顶级作业仍然一次只执行一个步骤。