您好,登錄后才能下訂單哦!
搜了下開源定時web任務(wù)項目,easySchedule首推
一、easySchedule概述
quartz提供了基本的定時任務(wù)管理方法,與spring結(jié)合可以方便的使用定時任務(wù)。但quartz的弊端也顯而易見,比如動態(tài)修改定時配置,定時任務(wù)的統(tǒng)一管理界面、調(diào)度和監(jiān)控都是十分不便的。我們曾于quartz開發(fā)了定時任務(wù)的管理模塊,主要針對定時任務(wù)的定時配置進行管理。技術(shù)總監(jiān)徐總提出了使用easyschedule的方案,我們針對這一解決方案比較方便的解決了公司內(nèi)部各信息系統(tǒng)的定時任務(wù)的管理和監(jiān)控,以下是easySchedule的使用總結(jié),比較簡單,以下的代碼實現(xiàn)方案主要是為了將原quartz的實現(xiàn)無縫的與easySchedule結(jié)合,涉及的主要是使用。明天會接接入,特別是小型web系統(tǒng)的接入方法做更詳細(xì)的描述。
EasySchedule 是基于quartz的集群、分布式任務(wù)調(diào)度平臺。廣告技術(shù)部前端原有定時任務(wù)功能 相對比較簡單,交互性差,任務(wù)部署效率低, 開發(fā)和維護成本高,不能很好滿足各系統(tǒng)定時任務(wù) 的管理和控制; 大量Crontab觸發(fā)的shell任務(wù)分散于各處系統(tǒng),無法統(tǒng)一進 行管理,維護成本很高;許多任務(wù)都是單機部署,可用性差。
主要功能:
1.集群管理調(diào)度,分布式部署:保證系 統(tǒng)的高可用性、伸縮性、負(fù)載均衡。
2.友好的操作界面:通過控制臺部署管 理任務(wù),方便靈活高效。
3.任務(wù)持久化于數(shù)據(jù)庫,遠(yuǎn)離宕機和數(shù) 據(jù)丟失隱患,完善的任務(wù)失敗重做機制,及詳細(xì)的任務(wù)跟蹤及告警策略。
優(yōu)點:
1Server和Client分別支持集群和分布式部署
2.任務(wù)的執(zhí)行與調(diào)度分離
3.可視化管理所有任務(wù)
4.任務(wù)狀態(tài)持久化于DB
5.完善的日志跟蹤和告警策略
6.任務(wù)支持異步調(diào)度
7.靈活支持各種自定義任務(wù),擴展方便。
技術(shù)架構(gòu)
功能域:
1.1×××地址
下載地址:http://code.taobao.org/svn/easyschdeule/
1.2代碼結(jié)構(gòu)
EasySchedule它是一個maven項目 所以導(dǎo)入Maven項目 它的結(jié)構(gòu)這這樣的:
wKioL1bWsPzzcFu9AAAeZmCVxwE492.png
es-client:最終在打包的時候會生成一個jar包。這個將會被我們添加到我們自己的項目當(dāng)中
es-server: 最終在打包時候會生成一個war包。這個需要我們部署到tomcat中 然后運行起來。
es-docs:里面存放一些文檔和 建表語句和表數(shù)據(jù)內(nèi)容。
使用 EasySchedule分為兩點:
將es-client生成的jar包引入到我們自己的項目當(dāng)中 (后面會作介紹)
將es-server生成的war部署成功
1.3 服務(wù)端部署
1.根據(jù)文檔中的的建表語句創(chuàng)建表 并插入數(shù)據(jù)內(nèi)容。
2.配置數(shù)據(jù)源
3.打開es-core項目下src/mian/resources下面的springbeans-es-ds.xml文件
<bean id="easyscheduleDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:comp/env/jdbc/easyscheduleDataSource</value>
</property>
</bean>
4.在tomcat下面conf下面context.xml加上以下配置
<Resource name="jdbc/easyscheduleDataSource" auth="Container"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://172.16.100.131:3307/test_crm"
username="test_crm" password="test_crm"
maxActive="20" maxIdle="10" maxWait="1000" />
5.更換jar包
將cglib-2.1_3.jar包更換成cglib-2.2.2.jar包
6.部署成功后可以訪問 我們可以看到這樣的頁面
7.待解決問題
地址:http://bbs.51cto.com/viewthread.php?tid=1547960
資料:https://blog.51cto.com/jncumter/1746859
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。