項目名稱:PowerJob
項目作者:假詩人
開源許可協議:Apache-2.0
項目地址:https://gitee.com/KFCFans/OhMyScheduler
項目簡介
PowerJob(原OhMyScheduler)是全新一代分佈式調度與計算框架,其主要功能特性如下:
- 使用簡單:提供前端Web界面,允許開發者可視化地完成調度任務的管理(增、刪、改、查)、任務運行狀態監控和運行日誌查看等功能。
- 定時策略完善:支持CRON表達式、固定頻率、固定延遲和API四種定時調度策略。
- 執行模式豐富:支持單機、廣播、Map、MapReduce四種執行模式,其中Map/MapReduce處理器能使開發者寥寥數行代碼便獲得集羣分佈式計算的能力。
- 執行器支持廣泛:支持Spring Bean、內置/外置Java類、Shell、Python等處理器,應用範圍廣。
- 運維便捷:支持在線日誌功能,執行器產生的日誌可以在前端控制檯頁面實時顯示,降低debug成本,極大地提高開發效率。
- 依賴精簡:最小僅依賴關係型數據庫(MySQL/PostgreSQL/Oracle/MS SQLServer...)
- 高可用&高性能:調度服務器經過精心設計,一改其他調度框架基於數據庫鎖的策略,實現了無鎖化調度。部署多個調度服務器可以同時實現高可用和性能的提升(支持無限的水平擴展)。
- 故障轉移與恢復:任務執行失敗後,可根據配置的重試策略完成重試,只要執行器集羣有足夠的計算節點,任務就能順利完成
適用場景
- 有定時執行需求的業務場景:如每天凌晨全量同步數據、生成業務報表等。
- 有需要全部機器一同執行的業務場景:如使用廣播執行模式清理集羣日誌。
- 有需要分佈式處理的業務場景:比如需要更新一大批數據,單機執行耗時非常長,可以使用Map/MapReduce處理器完成任務的分發,調動整個集羣加速計算。
同類產品對比
項目截圖
腳本處理器的簡單試用:在任務管理界面直接創建任務,將腳本內容複製進去即可。
Java 處理器的試用
創建任務:任務錄入示例如下,注意:處理器信息的填寫格式爲 容器ID#全限定類名
目前該項目作者處於全職維護狀態,所以大家如果有好的意見和建議的話,歡迎點擊後面的鏈接前往項目主頁和作者取得聯繫:https://gitee.com/KFCFans/OhMyScheduler