1. 功能说明
定时调度器主要用于定时执行周期性任务。 用户可以配置如下选项:
任务执行周期(默认单位ms,也可以配置成ns)
用户期望所要执行的函数
设置周期任务执行次数(-1表示一直执行到timer被取消)
指定定时任务时钟类型,包括稳态时钟/系统时钟/模拟时钟。
任务触发类型,包括DefaultTrigger/SelfTrigger,两种触发类型在周期任务执行时间超过周期间隔时,下一次执行触发时机存在如下区别:
DefaultTrigger:根据任务周期间隔触发执行。
SelfTrigger:立即重复执行。
2. 核心设计与特性
定时调度器由time库和dataflow共同实现。内置定时检查线程和多个任务执行线程。
Timer库提供executor基类,dataflow继承自该基类的接口,并实现相关的接口逻辑,主要包括任务的添加/取消。总体的逻辑则是由timer所控制。
Timer库:实现检查线程的逻辑,周期性检测任务是否超时,当判断当前任务均未超时后阻塞,一直等待到下一次的超时时间;当获取到超时的timer后,则将任务添加至dataflow检查线程来执行。
Dataflow:实现任务执行逻辑,dataflow内部默认内置4个执行线程,timer库为每个timer生成对应的timer_id,对id进行取模操作,将相同timer_id的任务添加至对应的执行线程队列中。

3. 适用场景
主要用于支持任务的周期性执行。
基于dataflow框架设置调度策略 配置定时调度器策略,不配置则使用dataflow内部默认的定时调度器
设置定时调度器策略
设置定时proc属性
4. 调度器参数如何设置
线程相关:
检查线程:调度属性/调度优先级/线程绑核
执行线程:调度属性/调度优先级/线程绑核/执行线程数目
可以通过在配置文件中设置这些属性
