簡體   English   中英

Control-M 先決條件 - 使作業依賴於服務器可用性

[英]Control-M Prerequisites - Make job dependent on server availability

我想知道是否可以根據服務器可用性為作業添加先決條件。 假設作業 J 從作業服務器 JS 運行,並且它與另外兩個服務器 SERVER1 和 SERVER2 交互。

我想配置作業 J,使其僅在 SERVER1 和 SERVER2 可用時運行。 如果兩台服務器中的任何一台出現故障,作業應等待服務器重新聯機。

我不知道這應該是評論還是答案,但是您要查找的內容在 Control-M 中本身並不可用。

我能為您想到的最簡單的解決方案是配置睡眠作業以在 SERVER1 和 SERVER2 上運行,並將它們作為作業 J 的前任。這些睡眠作業僅在 SERVER1/2 上的代理可用時運行,因此確認服務器可用性在執行作業 J 之前。

或者,您可以編寫一個循環等待 SERVER1/2 響應 ping 的腳本,然后完成並將此作業配置為作業 J 的前任。

我仍然是 Control-M 的新手,但我們已經實現了一個具有類似目標的解決方案,其中包含一個工作掛鈎來證明節點。

假設,您的目標服務器(節點)稱為 JS,它與 SERVER1(我們稱為 node01)交互。 以后可以添加任意數量的服務器/節點,讓我們看看只有一個節點。

概覽組件:

  • 在 OK 和 NOT OK 狀態下為監視更改和檢查狀態而創建的作業
  • 為每個節點創建的定量資源,例如node01_run (或堆疊,如您所願)
  • 作業包含至少 1 個免費資源的定量資源“node01_run”
  • 如果一切正常,作業應該按預期運行
  • 如果識別到停機,定量資源(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 的節點)。 它可以監控多台主機並仍然設置相同的資源 - 如您所願。

我希望這會有所幫助,除非您已經找到合適的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM