讓作業飛吧,與屌絲兄弟們分享我的分布式作業調度平台 【擁抱開源,擁抱作業調度的神器Quartz.net】


      2年前,本人在博客園大神張善友前輩的博文的牽橋搭線下,初識quartz調度引擎的.net開源版quarzt.net,並馬上被其數據庫支持,集群,插件,cron-like表達式等的亮點所吸引,后來基於Quartz.net 1.0的版本折騰出一個統一任務調度中心,詳見上一篇博文《基於Quartz.net的統一任務調度中 》。然而最近在項目中使用的時候卻發現基於Quartz.net 1.0版本的調度引擎在分布式方面滿足不了需求,於是尋思着將Quartz.net 1.0升級至支持分布式部署的Quartz.net 2.0。現在完成升級了,拿出來與屌絲兄弟們分享我的調度平台,再一一跟大家分享quartz.net的迷人之處。廢話不多說,先上圖:

一,截圖分享

 【1】、作業管理

 

【2】、作業步驟管理

【3】、作業計划管理

【4】、作業調度結果通知

 

【5】、作業日志

 

【6】、作業插件管理

【7】、作業插件步驟管理

【8】、作業實例節點管理

 

二,亮點介紹

【1】、數據庫支持。

        這個quartz.net最吸引我的地方,沒數據庫支持,全靠配置文件配置作業計划,作業多了,配置文件就像臭婆娘的裹腳又長又臭,木有人喜歡。 quartz.net2.0目前支持的數據庫有:SQL SERVER(包括CE版本),ORACLE,MySQL,PostgreSQL,FireBird,OleDb,Sqlite

       我現在使用的是MySQL,使用的驅動是5.1.6,這是默認的最高驅動,若想升級至最新版的驅動,很簡單,改一下quartz2010項目的dbproviders.properties文件的配置,修改驅動的版本及公鑰等信息即可。

【2】、crontab-like的支持。

     用過crontab的兄弟們都知道,crontab表達式幾乎可以滿足各式各樣的調度計划需求。有了crontab的支持,windows計划這種工具則弱爆了;有了crontab的支持,你的調度計划比mssql 2005的調度計划更牛了。quartz.net除了crontab-like觸發器外,還有好幾種。我的第一個截圖的立即執行則是利用simple-trigger實現的。

【3】、分布式部署。

        這是quartz.net 2.0才有的功能,不知我理解的對不對,在1.0的版本中,若不改造原數據庫設計,估計沒法支持分布式部署。到了2.0版本,數據庫的表多了個Shed_Name字段,按我的理解應該是跟instanceId關聯的,我將其理解為實例節點,一個節點一個唯一的instanceId,通過與Shed_Name字段關聯實現分布式的部署。

【4】、群集

      quartz.net的配置里有個clustered屬性,若為true則可支持群集,不過前提是群集的instanceName須相同,這個我倒沒去研究過。

【5】、插件支持

       這個也是非常不錯的功能,有了插件支持,系統變得矯健靈活,支持任意的作業擴展,不過前提是得繼承IJob接口。

 

      好了,收工,坐等高富帥、屌絲們拍磚!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM