2016-01-13 62 views
-1

有50個依次運行的Autosys作業。Autosys - 按順序重新運行失敗的作業

現在,如果序列中的作業失敗。然後我正在尋找一種手動啓動失敗作業的方式。

可以通過調用sendevent命令輕鬆完成。但是,在生產環境中,我們必須爲此提高WR。

那麼,如何在沒有sendevent命令的情況下手動重啓失敗的作業呢?

可能的解決方案是使每個作業都依賴於文件觀察器作業。但是,這樣,我們必須爲每個作業創建File Watcher。有沒有更好的方法。

+0

這個問題是關於服務器管理軟件。除非您使用autosys SDK編寫軟件,否則應該在[sf]上提問您的問題。 – miken32

回答

0

您可以手動啓動作業的唯一方法是sendevent。但是如果你想跳過那個,那麼你可以做一件事。但爲此,您需要訪問這兩者中的任何一個。

  • 更新數據庫表中的數據。
  • 在unix中創建一個文件。

如果你有這一點,那麼你可以創建一個作業,那裏每510分鐘。這項工作將啓動一個shell腳本,如startJobs.sh

在shell腳本中,您讀取一個文件,如jobsToStart.txt,其中包含要啓動的作業列表。然後,您在該腳本中使用sendevent以及文件中的作業名稱。

現在,一旦將此腳本部署到生產環境中,您只需在文件jobsToStart.txt中輸入作業名稱,腳本將在其運行時啓動作業。

另一種方法是類似的,但不是將數據放入文件中,而是將數據放入數據庫表中。 shell腳本將讀取該表以查找作業名稱。

就我個人而言,我建議將n_retrys=1自動重新啓動作業,如果再次失敗,請讓支持團隊執行此操作。有一個訪問限制的原因,如果你覺得你需要自己做,那麼你必須提交你的案例業務給你訪問。

+0

由於受限制的權限,我們不能在腳本中使用sendevent。我同意你讓支持團隊去做。而且,我們在我們的項目中同意這種方法。 –