1. 概述
1.1 版本
FineDataLink 版本 | 功能变动 |
---|---|
4.2.6.2 | 新增「实例执行策略」 「任务优先级」设置位置由「任务属性」修改为「运行管理」 |
1.2 应用场景
使用定时任务做了很多高频的分钟级别调度,当任务卡顿导致后续调度拉起的任务重复排队;
使用定时任务做了大量调度,出现线程不足问题。
1.3 功能简介
针对分钟级别的任务批量开启「实例执行策略」,当任务卡住的时候,后续仅保留最新进入队列的实例,其余跳过。注:仅在「生产模式」下可使用。
可设置定时「任务优先级」。当线程数不足时,优先执行队列中级别高的流。
2. 任务优先级
可为定时任务设置执行优先级,如下图所示:
1)当线程数不足时,优先执行队列中级别高的流,相同优先级的任务按照先进先出的顺序执行;子任务继承父任务的优先级。
注:存在低优先级任务一直排不上队列资源的风险。
2)任务运行的优先级,分五个等级:最高(HIGHEST),高(HIGH),中(MEDIUM),低(LOW),最低(LOWEST);默认为中,非空校验;升级默认为中等级。
3)定时任务修改执行优先级,对正在运行/排队中的任务实例不生效,仅对即将进入队列的任务实例生效。
3. 实例执行策略
针对分钟级别的任务开启「实例执行策略」,当任务卡住的时候,后续仅保留最新进入队列的实例,其余跳过。
执行策略针对单个任务生效。
针对该任务由「定时调度」和「事件调度」产生的实例生效,不包含手动、重试、接口调用、调用任务产生的实例。
当勾选「保留最新排队的实例,其余跳过」,判断单个任务执行队列中的实例,若有正在执行的实例,则保留「调度计划」产生的最新实例,将排队中的「调度计划」产生历史实例状态置为「跳过」,移出队列,新实例顶替「跳过」实例位置。
支持对定时任务批量设置「实例执行策略」,详情请参见:定时任务运维-任务管理