# 功能介紹
## 主界面

## 參數設置
job運行參數設置,可以在頁面上設置作業運行參數,每次運行作業時會用設置的參數覆蓋默認值,這個很多人用不上。


## 定時設置
操作界面與kettle中的開始控件界面一致,這個可能是最優用的功能之一。


## 運行與停止
核心功能就不說了。

## 強制結束
強制結束等待的作業,針對正常停止無效的情況。

## 實時日志
實時查看作業運行日志,這個功能看起來不起眼,實際應該是很有用的。

## 作業目錄
獲取作業目錄。

## 新建作業
支持頁面新建特定類的作業,當前是四類。這些作業都支持頁面修改。其中的KM作業是基于我的插件開發。這里的作業繼承com.oss.job.AbsJob,這樣的作業支持這里的KM作業,也支持下面的定時調度使用。


## 刪除作業
支持批量刪除作業,這個很危險哦,小心使用,不會刪除子轉換和作業。

## 失敗重啟
支持配置失敗自動重啟、將job_version字段作為作業類別使用,便于分類管理。

## 定時調度
支持cron定時的調度,所有類必須繼承:com.oss.job.AbsJob,作業支持參數配置,同一個類可以重復使用,傳入不同的參數。這樣開發的作業頁支持用于上面的KM作業配置。


## con設計
引入一個cron輔助設計模塊

## 按順序運行
我已經開發好了一個上面的KM作業:com.oss.job.KettleJobRunner,這樣的作業可以作為KM作業使用,也可以用于定時調度使用。
這個作業已經包含在項目中了,可以直接使用。
請參考KM作業示例和定時調度示例。
## 運行狀態
作業的運行狀態會定時反映到管理界面,我們可以通過多種條件篩選我們需要的作業進行批量運行或停止。
完成作業狀態更新,日志文件記錄的類:com.oss.job.JobManager,使用方式與按順序運行的作業類似,請參考使用。
為了使部署簡單,項目默認不依賴我開發的插件,你不使用KM作業功能,就不需要我開發的插件,項目默認已經在定時調度配置了該作業,并默認運行。

## 平臺級日志
一般好的作業設計都會記錄自己的日志表,詳細記錄作業運行狀況,本平臺提供了平臺級日志功能,不涉及業務,記錄了作業的開始停止時間,最終運行結果。

日志文件按天分文件夾存放,日志文件大小可以配置,若覺得占用空間,可以設計一個作業進行定時清理以前的日志文件,后續會提供該作業。也可以配置為不寫日志文件。
該功能也是由com.oss.job.JobManager作業實現。與運行狀態更新是同一個作業。

## 業務日志
Km數據庫中有一張我設計的專門用于記錄業務日志的表:METL_KETTLE_LOG,這個表是根據我們平常設計作業的經驗設計的,需要作業設計人員在設計作業時填充此表數據,本平臺已經默認提供了此表的查詢。
此日志與平臺級日志是互補關系,此日志更詳細,涉及業務,平臺級日志是后盾,主要用于問題排查等。


## KM作業示例

## JS作業示例
該作業前部分操作基本與KM類似,區別在于具體的js基本配置

## SQL作業示例
該作業前部分操作基本與KM類似,區別在于需要選擇數據庫,然后就是數據庫腳本了

## Shell作業示例
該作業前部分操作基本與KM類似,額外的需要配置腳本運行路徑,默認:/tmp。
作業在linux上運行就寫shell腳本,在windows上運行就寫bat腳本。
都比較直觀,就不多說了。

## 定時調度示例

