Uncode-Schedule分布式服務(wù)框架的系列文章,今天再補充一篇定時任務(wù)的管理系統(tǒng)。方便監(jiān)控定時任務(wù)的執(zhí)行狀態(tài)以及手動控制。Uncode-Schedule框架本身自帶有一個簡單的查看定時任務(wù)的頁面,但是比較簡單,為了更方便全面的監(jiān)控定時任務(wù),我單獨做了一個監(jiān)控系統(tǒng),名叫uncode-schedule-manage。本文主要介紹一下該監(jiān)控系統(tǒng)的功能和使用方法。
功能簡介
主要功能包括定時任務(wù)的執(zhí)行狀態(tài)查看和手動執(zhí)行定時任務(wù)。
一、 首頁
管理界面首頁如下圖,其中功能包括:
1.1. 查看集群節(jié)點服務(wù)器名稱以及是否是調(diào)度節(jié)點;
1.2. 定時任務(wù)的列表,除了包含定時任務(wù)的基本信息之外,還包含每個定時任務(wù)的執(zhí)行次數(shù)和最近一次的執(zhí)行時間,還可以將定時任務(wù)的信息在zk中刪除;
1.3. 添加定時任務(wù)的功能,可以將一個Spring bean中的方法作為定時任務(wù)添加進去。


二、手動執(zhí)行功能
手動執(zhí)行的定時任務(wù)列表如下圖,再點擊“執(zhí)行”前需要先選擇集群中的某個服務(wù)器節(jié)點,選擇之后點擊“執(zhí)行”,彈出如下“執(zhí)行任務(wù)界面”,在這個界面中需要填寫要傳入的方法參數(shù),還要添加完整執(zhí)行節(jié)點的url(端口+項目名稱)。


使用方法
- 修改配置文件applicationContext.xml
<bean id="zkScheduleManager" class="cn.uncode.schedule.ZKScheduleManager" init-method="init">
<property name="zkConfig">
<map>
<entry key="zkConnectString" value="192.168.7.149:2181" />
<entry key="rootPath" value="/uncode/schedule" />
<entry key="zkSessionTimeout" value="60000" />
<entry key="userName" value="ScheduleAdmin" />
<entry key="password" value="password" />
<entry key="autoRegisterTask" value="true" />
<entry key="isCheckParentPath" value="true" />
<entry key="ipBlacklist" value="192.168.7.231" />
</map>
</property>
</bean>
修改其中的zk配置,首先連接字符串zkConnectString和要監(jiān)控的定時任務(wù)注冊的zk一樣,以及根目錄、用戶名和密碼都要一樣;然后還要將管理系統(tǒng)部署節(jié)點的IP地址加入到黑名單<entry key="ipBlacklist" value="192.168.7.231" />,使其不可成為任務(wù)執(zhí)行節(jié)點。
- 修改配置文件schedule.properties
uncode.schedule.server.code=1000000001
將這個值配置成最大值,使其永遠不會成為調(diào)度節(jié)點。
使用maven打成war包,部署到tomcat即可。
首頁地址是:
http://192.168.7.231:8089/uncode-schedule-manage/main/page
總結(jié):有了這個管理界面就可以很方便的查看定時任務(wù)和手動執(zhí)行定時任務(wù),完美支撐Uncode-Schedule分布式定時任務(wù)框架。