PowerJob是全新一代分散式調度與運算框架,支援CRON、API、固定頻率、固定延遲等排程策略,提供工作流程來編排任務解決依賴關係,使用簡單,功能強大,文件齊全,能讓您輕鬆完成作業的調度與繁雜任務的分散式計算。
使用簡單:提供前端Web介面,讓開發者可以視覺化地完成調度任務的管理(增、刪、改、查)、任務運行狀態監控和執行日誌檢視等功能。
定時策略完善:支援CRON表達式、固定頻率、固定延遲和API四種定時調度策略。
執行模式豐富:支援單機、廣播、Map、MapReduce四種執行模式,其中Map/MapReduce處理器能讓開發者寥寥數行程式碼可獲得叢集分散式運算的能力。
DAG工作流程支援:支援線上配置任務依賴關係,視覺化得對任務進行編排,同時也支援上下游任務間的資料傳遞
執行器支援廣泛:支援Spring Bean、內建/外置Java類別、Shell、Python等處理器,應用範圍廣。
維運便捷:支援線上日誌功能,執行器產生的日誌可以在前端控制台頁面即時顯示,降低debug成本,大大提升開發效率。
依賴精簡:最小僅依賴關係型資料庫(MySQL/Oracle/MS SQLServer...),擴充依賴為MongoDB(用於儲存龐大的線上日誌)。
高可用&高效能:調度伺服器經過精心設計,一改其他調度框架基於資料庫鎖的策略,實現了無鎖化調度。部署多個調度伺服器可以同時實現高可用和效能的提升(支援無限的水平擴展)。
故障轉移與復原:任務執行失敗後,可依配置的重試策略完成重試,只要執行器叢集有足夠的運算節點,任務就能順利完成。
有定時執行需求的業務場景:如每天凌晨全量同步資料、產生業務報表等。
有需要全部機器一同執行的業務場景:如使用廣播執行模式清理叢集日誌。
有需要分散式處理的業務場景:例如需要更新大量數據,單機執行耗時非常長,可以使用Map/MapReduce處理器完成任務的分發,調動整個叢集加速運算。
有需要延遲執行某些任務的業務場景:例如訂單過期處理等。
v4.0.1
Features
支援PostgreSQL
強化前端控制台,新增tag、上次線上時間等worker 訊息,方便排查無法連線的問題。
BugFix
修復server 叢集選主問題
修正當沒有worker 連線到server 時出現的NPE 問題
修正前端控制台錯誤顯示worker 清單的問題