taobao-pamirs-schedule-2.0源码分析—核心流程

核心的流程时序图如下。


如上图所示,淘宝调度管理器在创建后就会执行一系列初始化过程,并且启动一些定时线程。具体流程描述如下:

1.创建定时调度器。

2.从配置中心加载任务配置信息。

3.创建一个本地的服务器信息。

4.加载任务调度运行信息。(没有的话会自动创建)。主要是支持任务可以多环境运行,生产的运行信息中的任务类型是:原始任务类型:环境。

5.注册服务器信息到注册中心。

6.启动定时器。定时执行心跳任务。


6.1心跳任务会刷新注册中心的PAMIRS_SCHEDULE_SERVER表的HEARTBEAT_TIME字段的值。

6.2当有主机发生变化的时候重新给服务器分配队列。

6.3若调度暂停或者处理器睡眠则重新获取当前服务器队列。

6.5若发送心跳异常,则清空队列和处理器中的任务,避免心跳失败导致的重复任务执行。


7.启动新的线程。等待主机获得队列。直到获得队列为止,一直会循环等待。

8.若获得任务队列。则开始计算时间进入调度。

9.若开始时间配置空或者立即执行,则会立即会对调度器调度。

创建新的调度处理器开始处理队列中的任务。

10.否则计算下次符合“cron”表达式配置的开始有效时间。

启动一个定时器,当时间到达则恢复任务调度。

11.计算符合“cron”表达式配置的结束有效时间。

启动一个定时器,当时间到达则停止任务调度。


转载于:https://my.oschina.net/ywbrj042/blog/633286

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值