您好,登錄后才能下訂單哦!
搜了下開源定時web任務項目,easySchedule首推
一、easySchedule概述
quartz提供了基本的定時任務管理方法,與spring結合可以方便的使用定時任務。但quartz的弊端也顯而易見,比如動態修改定時配置,定時任務的統一管理界面、調度和監控都是十分不便的。我們曾于quartz開發了定時任務的管理模塊,主要針對定時任務的定時配置進行管理。技術總監徐總提出了使用easyschedule的方案,我們針對這一解決方案比較方便的解決了公司內部各信息系統的定時任務的管理和監控,以下是easySchedule的使用總結,比較簡單,以下的代碼實現方案主要是為了將原quartz的實現無縫的與easySchedule結合,涉及的主要是使用。明天會接接入,特別是小型web系統的接入方法做更詳細的描述。
EasySchedule 是基于quartz的集群、分布式任務調度平臺。廣告技術部前端原有定時任務功能 相對比較簡單,交互性差,任務部署效率低, 開發和維護成本高,不能很好滿足各系統定時任務 的管理和控制; 大量Crontab觸發的shell任務分散于各處系統,無法統一進 行管理,維護成本很高;許多任務都是單機部署,可用性差。
主要功能:
1.集群管理調度,分布式部署:保證系 統的高可用性、伸縮性、負載均衡。
2.友好的操作界面:通過控制臺部署管 理任務,方便靈活高效。
3.任務持久化于數據庫,遠離宕機和數 據丟失隱患,完善的任務失敗重做機制,及詳細的任務跟蹤及告警策略。
優點:
1Server和Client分別支持集群和分布式部署
2.任務的執行與調度分離
3.可視化管理所有任務
4.任務狀態持久化于DB
5.完善的日志跟蹤和告警策略
6.任務支持異步調度
7.靈活支持各種自定義任務,擴展方便。
技術架構
功能域:
1.1×××地址
下載地址:http://code.taobao.org/svn/easyschdeule/
1.2代碼結構
EasySchedule它是一個maven項目 所以導入Maven項目 它的結構這這樣的:
wKioL1bWsPzzcFu9AAAeZmCVxwE492.png
es-client:最終在打包的時候會生成一個jar包。這個將會被我們添加到我們自己的項目當中
es-server: 最終在打包時候會生成一個war包。這個需要我們部署到tomcat中 然后運行起來。
es-docs:里面存放一些文檔和 建表語句和表數據內容。
使用 EasySchedule分為兩點:
將es-client生成的jar包引入到我們自己的項目當中 (后面會作介紹)
將es-server生成的war部署成功
1.3 服務端部署
1.根據文檔中的的建表語句創建表 并插入數據內容。
2.配置數據源
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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。