淘寶開源調(diào)度框架tbschedule的使用指南
1. 安裝tbschedule控制臺首先,從淘寶的tbschedule svn地址中下載ScheduleConsole.war包,并將其導(dǎo)入Eclipse,然后部署在Tomcat容器中。打開瀏覽器,輸
首先,從淘寶的tbschedule svn地址中下載ScheduleConsole.war包,并將其導(dǎo)入Eclipse,然后部署在Tomcat容器中。打開瀏覽器,輸入localhost:8080/ScheduleConsole/schedule/index.jsp?managertrue,在"ZooKeeper連接配置"界面中配置zk信息并保存(前提是已經(jīng)正確安裝了ZooKeeper)。
在控制臺中,進入"調(diào)度策略"界面,點擊"創(chuàng)建新策略",填寫策略名稱、任務(wù)類型、任務(wù)名稱等信息,并保存。
在控制臺中,進入"任務(wù)管理"界面,點擊"新建任務(wù)",填寫任務(wù)名稱、任務(wù)處理的SpringBean、線程數(shù)、每次獲取數(shù)據(jù)量、處理模式、執(zhí)行開始時間、任務(wù)項等信息。需要注意的是,任務(wù)名稱必須與調(diào)度策略中的任務(wù)名稱保持一致,而任務(wù)處理的SpringBean要與Spring配置文件中的bean名稱一致。如果不配置執(zhí)行開始時間,則表示立即開始執(zhí)行。
編寫調(diào)度類,實現(xiàn)接口,并實現(xiàn)其中的selectTasks和execute方法。在selectTasks方法中,查詢當(dāng)前調(diào)度服務(wù)器可處理的任務(wù);在execute方法中,執(zhí)行任務(wù)。以下為重點的JAVA代碼示例:
```java
for (TaskItemDefine taskItem : taskItemList) {
((()));
}
(itemList);
(taskItemNum);
```
關(guān)鍵的mapper.xml中的SQL條件如下:
```xml
and lt;foreach collection"itemList" index"index" item"item" open"(" separator" or " close")">
```
通過以上兩點的實現(xiàn),可以實現(xiàn)數(shù)據(jù)的分批查詢。
在本例中,有2個任務(wù)項。根據(jù)運行日志,可以看到查詢結(jié)果是list19和list25,這證明成功實現(xiàn)了正確的分批查詢,并且運行結(jié)果中沒有重復(fù)的任務(wù)。每一個任務(wù)項會等待所有任務(wù)處理完畢后,才會開始下次的selectTasks。如果沒有任務(wù)數(shù)據(jù),則會在一定時間后再次執(zhí)行。
任務(wù)執(zhí)行后,可以在控制臺中查看任務(wù)執(zhí)行情況、機器管理、線程等相關(guān)信息。
tbschedule有兩個URL地址可供訪問:http://localhost:8080/ScheduleConsole/schedule/index.jsp(普通權(quán)限) 和 http://localhost:8080/ScheduleConsole/schedule/index.jsp?managetrue(管理權(quán)限)。根據(jù)需求選擇相應(yīng)的URL進行訪問。
以上是關(guān)于如何使用淘寶開源調(diào)度框架tbschedule的簡要指南,希望對你有所幫助。