00:01
那咱们的task manager是不是已经启完了,那接下来我们要关注一下它启动完之后做了什么事情,诶咱们以前上课介绍的时候,是不是介绍过它启动起来会做一个啥呀。是不是反向注册呀,像R'M注册它的slot对吧,那它的逻辑在哪呢?就在它的启动方法里边啊,我们能够看到的啊,接下来我们来点进来啊,就刚才那个地方接着进去啊,Task cut on start里边再往里追啊。往里追呢,又是一个。连接到啥呀。Resource manager。啊,连接到resource manager,那所以咱们是不是得看它,它连接它干嘛,是不是,哎,它为什么要连接它呢?啊。好。我们瞅一眼。点。
01:01
CTRL加H找。谁?是不是来一个紫灯的弄啊?呃。此单的弄啊,没点错啊。Start。A。又是这里了,又是什么?Notify是吧?啊,又是通知什么,又一大堆跳转对吧,那么大家知道最终会跳到哪里啊。是不是这个类里面应该有一个内部类啊,是不是同样的过程同学们。还记得刚刚job master怎么注册的吗?啊,就那一个过程忘了是吧,忘了咱们就那就再来一遍咯啊。来,我们接着往后看啊。点进来。接口CTRL加H,我们之前找的是这个是不是job master内部类啊,那现在该找谁呀?
02:00
我们是谁执行的启动?是不是task执行的呀,那你就找嘛,这里是不是有也有一个。对吧,同样的套路啊,同学们。好,进来了。那这边。是不是又执行这个。重复的过程我就不啰嗦了啊,这里面大家应该知道是不是有一个create注册呀,然后一个开始注册呀,最后是不是调用注册成功的方法呀。是吧,一样的过程,你看后面啊。哎,就是这个listener对吧,也是一个内部类,你看。他是不是有个注册成功的方法,最终肯定会拿到这对吧,呃,那那我就再。点一遍啊。从这里接着点刚才的地方点,然后呢。
03:01
是不是reconct to啊对吧,重新连接到resource么点。啊,我还是给大家标一下啊。重连接是不是先关闭再启动啊?啊不不再再连接啊,对吧,先关闭再连接,哎,那我们看连接啊再点。诶,大家会发现我为什么之前点过现在都没了,因为这个是哪个类里面呢。它是个啊,它是内部类啊,内部类啊,然后呢,是不是连接到resource manager一样的啊,走那再往下走。哎呀,是不是这里有一个start啊,你会发现逻辑都一样对吧,啰里吧嗦啊,然后呢,你点它你就会发现是不是来到这个地方了。那这里是不是应该会执行一个生成啊,对吧,然后这边是不是注册成功啊,对吧?啊。
04:03
那我们瞅一眼瞅一眼。呃,就创建连接的时候,你看咱们这嘛啊,那我这边是写的简单了一点,你看是不是层层调用,直接就这样过来了。那开始注册对吧,这块我不去点了啊,生成一个注册向谁注册啊。是不是resource manager?对吧,啊,Resource manager。那在这里面呢。哦,这个还是得讲啊,还是得给大家讲。他怎么注册槽的是在这儿啊,来点,然后是不是一个general是吧。没没乱吧,现在。就开始注册,开始注册的时候是不是创建了一个注册对象啊。好点,是一个抽象的,我们找实线应该找谁的呀。
05:03
呃,之前我们找的是这里。之前找的是这里,那么现在这个test直接抛弃。剩两个谁肯定不是job manager对不对,哎,只能是这个啊,不再是内部类的同学们,这个比较特殊啊。好,他是单独写了一个类,你说他要统一就统一吗?一会这个写法,一会儿那个写法,哎,这个觉得不太舒服啊。好,生成一个注册链接这里。向resource manager注册啊。好了,这里我们接着往后看,注册的时候他做了什么事啊?没做啥有吧是吧,我们看silver里面做了啥啊。
06:01
到这里为止了。然后最终。哎,我我们进来是进到这的,对吧?啊这这是生成完毕了,那么后面咱们是不是会调用一个start方法呀,Start方法它其实它会调用invoke这个方法啊来我把这边先打个点。来,咱们回到这个。注册这里啊。诶,找错地方。回到啊,回到咱们这里。这是不是创建完了呀。是吧,接着往下走,咱们看。Start。Start这里他你看,呃,当时我们没有具体去看嘛,对吧?啊,我们是简略一点,我们说这里有一些connect呀,Connect。呃,那这里呢,我找找啊。
07:03
Invoke在哪里啊?嗯。好像在这里面啊,对啊,在这里。是不是开始注册呀,稍后开始注册对吧,Later。然后在呃,就是开始注册,他又调用了这个啊,调用了这个进来之后呢,哎,你会发现什么呢。RPC相关的对吧,它会调用对方的一个开始注册方法啊,那你一点这里面呢。会有一个。在哪里呀?怎么那么深呢?诶。啊,我又回来了,同学们。
08:04
我想想啊这一块。哦,在这看花眼呢,这个源码非常不好找。就咱们开始注册这个方法,然后进来之后呢。在这。你不注意看,还真没注意到你,你以为这一行是个日志对吧?是不是真正的注册方法呀?对吧,开始注册里面再调用一个注册方法啊,哎,然后往里走。往里走,我们往下。这搁这套娃呢,这个东西。啊,在这终于看到了啊,眼睛都看瞎了,同学们啊。注册里面调用了一个什么。
09:02
Invoke对吧?啊,就这一行,就这一行,我刚才找半天就为了追这个方法,那我们现在回来吧,回来这个特殊的类里面。这个。这个是不是有一个这个方法。对吧。啊,我想说刚才说那么半天,想说明的是开始注册会调用这个方法啊,就这个意思啊,那我还是这边写一下啊。我们说开始注册调用的是这个方法啊。那这边呢。你看。这里他执行了什么?注册task is。向谁注册啊?是不是resource manager啊,由resource manager来调用的啊。
10:02
好点。这是一个get位远程调用啊,远程调用咱们直接找就是了啊。呃,应该是我看看在哪里啊。在咱们这个抽象附类里边啊,同学们抽象负类啊。这里是不是有个注册方法呀。那。注册的方法我们简单看一看啊,这一块比较多,比较绕啊,还是connect之后呢,我看看我们看核心的就好啊,眼睛有点。注册的方法里面呢,呃,我们。最终它会执行到这儿啊。就是这边就做了一个判断嘛,有没有泡异常嘛,对吧?啊没有的话就执行一个注册task啊,说白了就是继续套娃啊,继续套娃再点点完之后呢。
11:10
我们看看啊,这边主要是什么。这是不是一个删除反向注册对吧?啊,或者说删除老的注册啊,这个无所谓了,那咱们往下看一点。郭科。对吧,那这个咱们呃,不用去看了啊,咱们看他注册的逻辑就行了,你看他是不是new了一个。Worker的注册呀。哎,然后呢,往下走,往下走。往下走。早没了呀。我肯定又漏了哪个地方。同学们。
12:06
这个太难找了吧,我瞅瞅。呃,那这一块呢,我想想咱们就不继续往下看了,同学们,为什么呢。接下来是不是他注册的细节了。那咱们。呃,接下来应该还是回过来看什么。注册成功之后吧。是不是?成功之后啊。成功之后,咱们得回到这个类了啊,回到这个类。嗯。这个类里面我们找一找,找那个注册成功的方法,同学们。
13:03
哎,在这是不是。这是不是注册成功啊。哎,之后呢,就走这里,走这里这一行。点。然后呢,找时线。我们发现是不是这样。啊,Task的内部类里面啊。好在这里呢,我们找到这个方法。那么这个方法呢,我们看一看他做了什么事啊。又是一个异步执行啊。然后呢?是不是连接啊。是不是建立连接啊,哎,之后呢,建立连接点。看啊。应该是哪一个,是不是直接就是这个发送slot的报告,对不对,好这里。发送一个报告,我们点。
14:02
接口对吧,找实线。只有一个resource manager。啊,你看它它这个跳来跳去的没事儿啊,然后这里呢。我们看一下啊,来这里是不是有一个注册。对吧,最终向注册给谁啊同学们。是不是他注册是向谁注册slot manager对吧?哎,他最终调用的是不是slot manager的一个注册方法呀?哎,所以在这里啊,这是另外一个细节,注册给他啊,注册给他再往后看点全头加下去。好找谁呀?是不是slot manager的实现了好?找到这个方法。在444这里啊。
15:05
然后呢?在这里面这些不用看对不对,哎,是否包含这个key,这个实例ID是否包含。对吧。然后呢,是报告一个状态啊。好。那咱们现在包不包含呢,同学们。不包含对吧,不包含不进来是不是应该走这边啊。对吧,走这那走这的话。嗯,看看。走着,最终是不是执行到这里啊。最终是执行到这里了。对吧。从这个判断,然后进入到SS,一直执行,一直执行,一直执行,执行到下面啊是不是注册一个slot对吧?好诶诶我没标对吧。
16:07
注册,那注册这一块呢。怎么越讲哦好,刚才这里为止啊。咱们是不是。知道了那个task向resource manager进行的一个注册,对吧?哎,一直到这里,一直执行到这,那么后面的内容应该是什么,是不是resource manager接收到这些请求之后干什么事,对吧?那我们以这里啊,我们先停一下啊,到这里为止停一下啊。
我来说两句