美文网首页
ManagerFactoryTimerTask

ManagerFactoryTimerTask

作者: 7d29b558374e | 来源:发表于2018-08-01 14:23 被阅读0次

    ManagerFactoryFactory加载和初始化以后
    ManagerFactoryTimerTask不停的定时执行,进行refresh
    核心是
    reRegisterManagerFactory();

    1.assignScheduleServer
    tb根据某个策略 给每个 factroy[10.254.125.4bogon26AC347B56DC4148A320D4BC75A89D92$0000000020]
    分配若干个执行线程组 (代码中也叫StrategyTask),尽量平均分配

    不是真正生成线程组只是,分配数量,更新zk节点的值
    [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
    分配完之后,重启
    发现当前这个factory中的某个strategy对应StrategyTask已经启动的数量比分配的少,增加一个
    即TBScheduleManagerFactory.createStrategyTask
    如果是Schedule类型
    result = new TBScheduleManagerStatic(this,baseTaskType,ownSign,scheduleDataManager);
    1.如图 在以下节点创建一个新节点

    image.png

    UserStatTask10.254.125.43FBB199F55EF49BE82138E7DC506CC9D$0000000031为线程组的id

    2.启动一个
    HeartBeatTimerTask
    进行任务项的定时扫描,重新分配
    其实就是对下面的两个数据进行分配

    相关文章

      网友评论

          本文标题:ManagerFactoryTimerTask

          本文链接:https://www.haomeiwen.com/subject/qtblvftx.html