Control-M先决条件-使作业取决于服务器可用性

时间:2018-09-12 18:48:38

标签: control-m

我想知道是否可以基于服务器可用性为作业添加前提条件。假设作业J从作业服务器JS运行,并且它与其他两个服务器SERVER1和SERVER2进行交互。

我要配置作业J,使其仅在SERVER1和SERVER2可用时才运行。如果两个服务器中的任何一个发生故障,则作业应等待服务器重新联机。

2 个答案:

答案 0 :(得分:0)

我不知道这应该是评论还是答案,但是您要寻找的内容在Control-M中本身并不可用。

我可以为您想到的最简单的解决方案是将一个睡眠作业配置为在SERVER1和SERVER2上运行,并将它们作为作业J的前身。这些睡眠作业仅在SERVER1 / 2上的代理可用时才运行。在执行作业J之前确认服务器可用性。

或者,您可以编写一个脚本来循环等待SERVER1 / 2响应ping,然后完成并将该作业配置为作业J的前身。

答案 1 :(得分:0)

我仍然是Control-M的新手,但是我们已经实现了具有类似目标的解决方案,并带有一个工作钩子来证明节点。

假设,您的目标服务器(节点)称为JS,它与SERVER1交互(我们将其命名为node01)。以后可以添加任意数量的服务器/节点,让我们来看一个节点。

概述组件:

  • 为监视器更改而创建的作业,并在“正常”和“不正常”状态下检查状态
  • 为每个节点创建的定量资源,例如 node01_run (或根据需要堆叠)
  • 工作包含定量资源“ node01_run”,其中至少有1个空闲资源
  • 如果一切正常,作业应按预期运行
  • 如果识别出停机时间,则定量资源(QR)将更改为0,因此受影响的作业不应运行,
  • 如果节点再次启动,则定量资源将被设置为原始值(10、100、1000等),并且作业应照常运行

职位名称:node01_check_resource

Job Goal  --->  Check if quantitative resource already existing
Job OS Command  --->  ecaqrtab LIST node01_run
Result yes  --->  do nothing,
Result no  --->  Job node01_create_resource, command: ecaqrtab ADD node01_run 100 (or as many as you wish)

职位名称:node01_check(循环)

Job Goal  --->  Check if node up
Job OS Command  --->  As you define that you node is up: check webservice, check uptime, wmi result, ping, ...
Result up  --->  rerun job in x minutes
Result no  --->  go for next job

职位名称:node01_up-down

Job Goal  --->  Case for switching between status up and status down
Job OS Command  --->  ecaqrtab UPDATE node01_run 0
On-Do action:  --->  when job ended, remove condition that node01_check cannot start (as is defined as cyclic job)

职位名称:node01_check_down(循环)

Job Goal  --->  Check status while known status is down
Job OS Command  --->  As defined in node01_check
Result down  --->  Do nothing as job is defined as cyclic
Result up  --->  Remove some contitions

职位名称:node01_down-up

Job Goal  --->  Switching all back to normal operation
Job OS Command  --->  ecaqrtab UPDATE node01_run 100
Action  --->  Add condition that node01_check can run again

您可以为多个节点定义此类作业挂钩,并且可以在每个作业中定义哪些节点应该启动并正在运行(意味着定量资源大于0的节点)。可以监视多台主机,并且仍可以根据需要设置相同的资源。

除非您已经找到合适的解决方案,否则希望对您有帮助。