流水线原理
2019-04-28 14:35:45 0 举报
流水线原理
作者其他创作
大纲/内容
启动流水线
2. 执行事件分发,会发送一个PipelineCreateEvent对象到 MQEventDispatcher 中的 dispatch 方法,dispatch方法会根据这个event对象的注解解析出mq的路由(exchange+routeKey),并获得相关信息,发送到mq对应的消息队列中
dispatch分发消息到mq
创建
override fun dispatch(vararg events: IPipelineEvent) { try { events.forEach { event -> logger.info(\"dispatch the event(${event.source}-${event.actionType}-${event.pipelineId})\
启动原子
与此同时MQPipelineCreateListener的相应监听器,从相应队列中取得创建流水线的消息,拿到PipelineCreateEvent对象,执行 listener 中的execute方法,execute执行executeInner(event) 方法,并执行相应的 run 方法,执行相应的业务逻辑,由此流水线创建完成。
创建流水线pipeline
每种类型事件都有一个对应的mq监听器
消息到达MQ后,启动PipelineAtomTaskBuildListener 监听器,运行其中的run方法,最后运行TaskControl 中的taskAtomService.start(buildTask) 方法开始执行流水线,接着会调用 atomTaskDaemon.run() 方法,并传入task对象,通过反射获得相应的原子实例span style=\"font-size: inherit;\
1. 在数据库中添加创建的流水线的记录,即把流水线的json及各种构建信息写入数据库。同时在这个过程中会校验流水线各个配置参数是否正确,比如原子是否存在,构建机是否存在等
0 条评论
下一页