推薦一款任務排程的開源方案

jeanron100發表於2017-11-30

在平時的工作中,我們多多少少會有一些定時任務需要處理,有些是在每個伺服器上單獨部署,有些是在中控端部署,但是這樣有一個缺點就是難以形成閉環,我們不知道我們的定時任務是否執行成功,如果需要做資訊統計,這個工作量還是蠻大的。

簡單來說,就是下面的痛點了:

  • 需要在每臺linux伺服器的crontab裡一一定義任務

  • 任務的執行監控太不方便了

  • 得登入到每臺機器檢視定時任務的執行結果,機器一多簡直是一種災難

  • 對於多臺機器協同處理一個任務很麻煩,如何保證多臺機器上的任務按順序依次執行?

  • 當任務執行失敗,要重新執行,還得重新定義下執行時間,讓其重跑,重跑完成了還得改回正常時間

  • 正在執行的任務要kill掉很麻煩,檢視程式然後才能kill......

而最近在梳理自動化的一些東西,所以開源的方案都會進入我的視線,我都會多多少少測試一下,看看怎麼轉換為自己需要的東西,順便也找找曾經開發的感覺。有一個開源專案opencron引起了我的興趣。

開源專案的地址是:

整個開源專案的部署還是比較方便的,如果做過Java Web相關的開發,部署起來會很輕鬆。

說說我對這個專案的理解,開發語言主要是Java,它的架構是基於c/s的方式,在每個需要呼叫任務的客戶端都需要部署一個客戶端,然後在服務端來觸發,整個工程的編譯是使用maven實現,編譯後會生成一個war包,複製到web容器中,比如tomcat中即可。

對我來說最大的優點是這個專案我能很快得到我希望看到的介面和功能。介面的效果上還是不錯的,可以選擇差不多10多個主題。

推薦一款任務排程的開源方案

而從功能來說,個人認為中間的頭像和日曆還是不需要的,右邊欄的統計很不錯,透過這些概覽能夠很容易得到一個整體的資料。那些任務成功,失敗都可以一目瞭然。

推薦一款任務排程的開源方案

還有個不錯的功能是對於任務的統計圖,有折線圖,有餅圖。這個效果還是不錯的。任務可以手動執行觸發,也可以設定重跑次數,超時次數等等。

推薦一款任務排程的開源方案

這個webshell的功能真是太炫了。在瀏覽器中能夠開啟這樣一個ssh會話,我在幾年前還曾經寫過程式模擬,但是效果都不大好,在這裡滿足了我之前的一個小小的遺憾。

推薦一款任務排程的開源方案

還有個問題就是如果要整合到自動化平臺中,其實還是需要不小的工作量,因為自動化平臺的技術語言目前是Python,考慮到團隊的需求,儘可能減少體系的複雜度,opencron還是有不小的參考價值,在後期如何引入,我覺得可以依舊從試用中得到更多的經驗。

我覺得我需要兼任幾個角色,比如產品設計,系統架構,然後落地的過程中的開發技術和資料庫相關的技術結合,想想挑戰還是有的,不管怎麼樣就是做一件事情,把他做好,先提高團隊的工作效率,把那些手工的配置和管理都能夠對接到平臺上,可以統一管控,如果從業務價值和技術價值的角度來衡量,其實目前來看技術價值有的,業務價值不高,但是如果能夠落地,那麼業務價值會遠大於技術價值,技術工作就是如此,沒開始的時候能夠天馬行空,但是要落到實處,需要付出很多的努力。

之前分享過一起 OpsManage的想法,有很多朋友已經在部署試用了,很多朋友問我一些部署的細節,或者說這個方案是否可以滿足工作中的絕大多數需求,我想說的是,應該不會,我認為它最大的優點在於可以減少技術從0開始的複雜度,讓你可以快速迭代開發。

對於自動化的開發和問題,大家可以一起交流,入群有驗證,標註 公司-職位,一個星期內沒有有效發言(發表情不算有效發言),會被請出,先想好再入群。如果你是有經驗的老司機,希望能夠加入提供技術建議,一起交流,如果你也是在探索的朋友,那就立一個計劃吧。我拍個腦袋,一個月也達到什麼程度,然後來按照這個時間反推進度。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23718752/viewspace-2148045/,如需轉載,請註明出處,否則將追究法律責任。

相關文章