checkFlow
2021-05-06 15:52:14 0 举报
数据的check流程
作者其他创作
大纲/内容
开启异步协程处理http请求
store
JobManager&TaskManager
控制台发起check
注册校验的http handler
初始化tskMgrServer、初始化为slave、开始竞选leader、当选leader后开启jobMgrServer、在startJobMgr中注册TaskScheduler并开启异步协程scheduler
run、访问数据库、开始执行task的注册步骤并根据执行结果来决定下一步执行的任务
注册执行器
checkHandler接手开始处理该次请求,自己不是master的话就会执行转发操作、将相应的信息保存到loacljobrunner中、并注册其执行步骤、保存到数据库
根据不同的状态调用不同的处理函数,比如选择执行器并在新的进程中执行用户的程序。扭转task的状态机
异步协程开始scheduler调度
DB
check的步骤包括:proxy、conntest、check、query;其中check和query需要将请求发给jobexeplat来执行
通过taskmgrclient将请求送到该任务关联的execnode节点
process处理、生成或者重构migrate_job调用asyCheck、调用submittask、保存到数据库、根据taskname和注册的flow生成函数生成具体的task、初始化task的执行步骤、保存到数据库
ExecNode
load
反射调用
注册不同命令的handler并开启异步协程开始消费chan中的数据、并将数据交给handler处理。收到tskmsgchan中的数据时将其交给对应的task的cmdchan
run、访问数据库、开始执行task的注册步骤并更改task的状态扭转
NewDtsPlatform
注册check flow的生成函数
初始化node的管理数据结构并启动节点、初始化etcd并创建接收taskmanager命令的两个chan:tskmsgchan和ctrlmsgchan
执行步骤为prepare,前端不同的任务类型产生不同的任务:如check,到resource/dts/d_mysql/r_mysql/check目录下读取job.json文件\"check\
0 条评论
下一页