ManagerFactoryTimerTask

ManagerFactoryFactory加載和初始化以后
ManagerFactoryTimerTask不停的定時(shí)執(zhí)行,進(jìn)行refresh
核心是
reRegisterManagerFactory();

1.assignScheduleServer
tb根據(jù)某個(gè)策略 給每個(gè) factroy[10.254.125.4bogon26AC347B56DC4148A320D4BC75A89D92$0000000020]
分配若干個(gè)執(zhí)行線程組 (代碼中也叫StrategyTask),盡量平均分配

不是真正生成線程組只是,分配數(shù)量,更新zk節(jié)點(diǎn)的值
[zk: localhost:2181(CONNECTED) 8] get /fengjr-asset/task/haoxu/strategy/UserStatTask/10.254.125.4bogon2997B15F75CD4F83AB565F2EA1C65AC60000000022 {"strategyName":"UserStatTask","uuid":"10.254.125.4bogon2997B15F75CD4F83AB565F2EA1C65AC60000000022","requestNum":2,"currentNum":0,"message":""}
如圖 requestNum

2.reRunScheduleServer
分配完之后,重啟
發(fā)現(xiàn)當(dāng)前這個(gè)factory中的某個(gè)strategy對(duì)應(yīng)StrategyTask已經(jīng)啟動(dòng)的數(shù)量比分配的少,增加一個(gè)
即TBScheduleManagerFactory.createStrategyTask
如果是Schedule類(lèi)型
result = new TBScheduleManagerStatic(this,baseTaskType,ownSign,scheduleDataManager);
1.如圖 在以下節(jié)點(diǎn)創(chuàng)建一個(gè)新節(jié)點(diǎn)

image.png

UserStatTask10.254.125.43FBB199F55EF49BE82138E7DC506CC9D$0000000031為線程組的id

2.啟動(dòng)一個(gè)
HeartBeatTimerTask
進(jìn)行任務(wù)項(xiàng)的定時(shí)掃描,重新分配
其實(shí)就是對(duì)下面的兩個(gè)數(shù)據(jù)進(jìn)行分配

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容