系統(tǒng)組件:事件服務(wù)器乍赫、事件處理器、遠程代理
事件處理器請求(1)事件服務(wù)器后獲取相關(guān)作業(yè)信息(2)并將之通過代理連接(3)傳遞給遠程代理(4)织阳,遠程代理會往事件處理器發(fā)送回執(zhí)表示已經(jīng)接收相關(guān)作業(yè)內(nèi)容(5)。然后遠程代理開始運行客戶端作業(yè)(6)并發(fā)起一個CHANGE_STATUS事件通知事件服務(wù)器作業(yè)狀態(tài)為RUNNING(7),當(dāng)客戶端作業(yè)完成時會通過遠程代理(8)向事件服務(wù)器發(fā)送程序結(jié)束狀態(tài)碼(9)攘蔽。
常見作業(yè)類型
Command - 可以是shell腳本或是可執(zhí)行程序
Box - 作為可以包含其它作業(yè)的容器使用,能夠組織和控制處理流程呐粘。如果其中包含的作業(yè)中沒有指定開始運行條件的話满俗,Box中的作業(yè)則會在Box滿足運行條件時立即并行運行转捕。
File watcher - 啟動一個文件監(jiān)控進程,用于檢測文件是否存在以及文件大小唆垃。當(dāng)文件大小達到某個最小檢測值五芝,并且不再繼續(xù)增長時,F(xiàn)ile Watcher作業(yè)就算執(zhí)行成功辕万。
常見作業(yè)操作
autorep -> 列舉出指定作業(yè)的各種相關(guān)信息 -> autorep -j
job_depends -> 查看依賴條件 -> job_depends [-c | -d ] [-J job_name]
sendevent -> 作業(yè)控制 -> sendevent -j ?-e
EVENT的可用值說明
+ STARTJOB - 開始作業(yè)
+ FORCE_STARTJOB - 強制開始作業(yè)枢步,不考慮其依賴條件與調(diào)度設(shè)置
+ KILLJOB - 關(guān)閉作業(yè)
+ DELETEJOB - 刪除作業(yè)
+ JOB_ON_ICE - 與下面的ON_HOLD一樣,ON_ICE也會阻止指定的作業(yè)運行渐尿,區(qū)別見下文
+ JOB_OFF_ICE - 與ON_ICE操作對立
+ JOB_ON_HOLD - 阻止指定的作業(yè)運行
+ JOB_OFF_HOLD - 與ON_HOLD操作對立
+ CHANGE_STATUS - 手動修過作業(yè)狀態(tài)醉途。當(dāng)Autosys無法跟蹤作業(yè)狀態(tài)時可以使用該功能。比如說Autosys中報告出某個作業(yè)仍在運行砖茸,而時機上該作業(yè)并未運行隘擎,這時就可以使用命令“sendevent -j ?-e CHANGE_STATUS -s STATUS”修改作業(yè)狀態(tài)。其中的STATUS可以是ACTIVATED或FAILURE或INACTIVE或ON_HOLD或ON_ICE或QUE_WAIT或REFRESH_DEPENDENCIES或REFRESH_FILEWATCHER或RESTART或RUNNING或STARTING或SUCCESS或TERMINATED凉夯。
ON ICE與ON HOLD的區(qū)別
區(qū)別一货葬,對于ON_HOLD的作業(yè)來說,如果在ON_HOLD期間曾經(jīng)滿足過運行條件恍涂,那么在OFF_HOLD后宝惰,作業(yè)會立即開始執(zhí)行。而同樣的情況不適用于OFF_ICE后的作業(yè)再沧,OFF_ICE后的作業(yè)必須等待運行條件重新被滿足才會運行尼夺。
區(qū)別二:依賴ON_HOLD作業(yè)的作業(yè)不會運行,而依賴于ON_ICE作業(yè)的作業(yè)會運行炒瘸,此時ON_ICE作業(yè)的狀態(tài)被視為SUCCESS淤堵。
Box作業(yè)特點
其最終狀態(tài)取決于其包含的內(nèi)部作業(yè),只有被包含的全部作業(yè)都運行成功顷扩,它的狀態(tài)才是成功拐邪,否則任一被包含作業(yè)運行失敗,其狀態(tài)則變?yōu)槭“亍6xBox作業(yè)時不需要指定機器名扎阶,機器名主要是為運行腳本和命令的作業(yè)服務(wù),而Box作業(yè)只是一個作業(yè)容器與實際執(zhí)行的進程無關(guān)婶芭,所以Box作業(yè)不需要機器名东臀。