2016-03-09 40 views
-1

中旬啓動作業有一個主箱裏面工作5級類似的職位Autosys - 如何從盒子工作

MainBox 
Job1 -> Job2 -> Job3 -> Job4 -> Job5 

作業2取決於作業1,作業3取決於作業2等等。

依賴關係是通過條件屬性實現的。例如,Job2有condtion:success(Job1)。

在啓動MainBox時,作業將按順序運行。假設Job3失敗了。現在,如何從失敗的Job3中重新啓動MainBox內的作業?

如果我手動強制啓動Job3,那麼它會運行,但Job3成功後,相關的Job4不會啓動。

回答

0

實際上是在設置你所提到的,如果任何一個工作的失敗,盒子就會失敗和下游作業將進入非激活狀態,如果條件是「box_terminator:Y」組的工作。在這種情況下,您必須手動完成下游,強制開始每個下游,因爲條件不起作用,因爲Box本身失敗。

爲了達到你需要做一個小調整的就業機會,使什麼「box_terminator:N」。然後在任何工作失敗時,Box將保持運行狀態,並且下游工作將保持激活狀態,等待失敗的工作成功。您可以將失敗的作業標記爲成功以跳過其運行或強制開始以完成,因爲該框仍處於運行狀態,依賴關係將適用於其中的每個作業。

但一定要包括「trem_runtime:value_in_minutes的盒子,使箱一段時間後,如果失敗,失敗的作業是無人值守的,否則盒將無限期地運行。

我認爲這應該做。

0

我們可以通過以下步驟達到您的要求。它的另一種方法,

第1步:把ON_HOLD job1和job2成功運行和完成。 步驟2:如果它處於運行狀態,請終止Box作業。 第3步:啓動盒子作業。 步驟4:將job1和job2從ON_HOLD狀態標記爲成功狀態。 第5步:檢查Box作業的狀態,您可以看到作業序列從job3開始運行。

Regards, Kaliraja。

0

爲了能夠在不影響成功作業的情況下重新啓動失敗的作業,並讓剩餘的ACTIVE/INACTIVE作業自動運行(因爲它取決於失敗的作業),您需要使用ON_ICE功能autosys。 ON_ICE就像SUCCESS狀態。如果您的工作是ON_ICE,Autosys會將其讀取爲SUCCESS,並且不會再次觸發。因此,由於您對job3的依賴性是job2的SU,所以一旦您強制啓動主BOX(跳過運行job1和job2,考慮到他們已處於ON_ICE狀態),您的job3將自動運行。以下是您可以執行的步驟:

  1. 如果您的主箱子仍處於RU狀態,強制停止您的主箱子。
  2. ON_ICE您的工作1和工作2。
  3. 強制啓動您的主箱子。
  4. 一旦箱子已經強制啓動,您的工作3將自動運行。
  5. 一旦你的工作3已經轉向SU,你的工作4將立即運行。
  6. 一旦job4已經完成運行,您的主箱子應該轉向SU,因爲您的job1和job2處於ON_ICE狀態,而您的job3和job4處於SU狀態。
  7. 您現在可以設置OFF_ICE作業job1和job2,以便在主箱子的下一個計劃運行中,這些作業將被啓動。

注意:job1和job2的開始和結束運行不應改變。主箱子job3和job4的開始和結束運行應該有更新的時間。