找回密码
 立即注册

QQ登录

只需一步,快速开始

zhangsheng
金牌服务用户   /  发表于:2024-3-7 23:44  /   查看:501  /  回复:3
10金币
本帖最后由 zhangsheng 于 2024-3-8 00:09 编辑

需要在很多流程中设置节点超时执行命令,不知道这个功能是否用到定时器,担心过多定时线程占用服务器资源严重影响性能
所以关心以下问题:
1、流程中有部分设置超时,系统每次检查对象是全部流程实例,还是仅设置超时的流程?
2、系统判断流程是否超时,是全部检查对象一个定时器,还是每个流程实例一个定时器(应该不太可能,还是确认下)?
3、超时设置可选“分”“时”“天”,是否对应分、时、天的不同定时器?
4、如果等待执行超时流程实例的常态存量数量级是10000或者更高,多线程资源占用规模是否可接受?




最佳答案

查看完整内容

-- 1、流程中有部分设置超时,系统每次检查对象是全部流程实例,还是仅设置超时的流程? 流程的超时任务存储在ACT_RU_TIMER_JOB 表中,没创建一个带有超时设置的流程实例这里就多一条。 -- 2、系统判断流程是否超时,是全部检查对象一个定时器,还是每个流程实例一个定时器(应该不太可能,还是确认下)? 超时设置有专门的后台线程定时扫描,应该只有一个扫描线程,扫描到超时任务需要执行后,构建一个 TimerJob 丢给执行队 ...

3 个回复

倒序浏览
最佳答案
最佳答案
WalkingCorpse
注册会员   /  发表于:2024-3-7 23:44:50
来自 2#
-- 1、流程中有部分设置超时,系统每次检查对象是全部流程实例,还是仅设置超时的流程?
流程的超时任务存储在ACT_RU_TIMER_JOB 表中,没创建一个带有超时设置的流程实例这里就多一条。

-- 2、系统判断流程是否超时,是全部检查对象一个定时器,还是每个流程实例一个定时器(应该不太可能,还是确认下)?
超时设置有专门的后台线程定时扫描,应该只有一个扫描线程,扫描到超时任务需要执行后,构建一个 TimerJob 丢给执行队列,由执行线程执行

-- 3、超时设置可选“分”“时”“天”,是否对应分、时、天的不同定时器?
不是,所有类型的超时设置都写入了一个表,是否需要执行都由检测线程判断

-- 4、如果等待执行超时流程实例的常态存量数量级是10000或者更高,多线程资源占用规模是否可接受?
超时任务的执行线程是固定数量的,不会存在 10000 个超时任务创建 10000 个异步线程,内部有队列控制

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 1金币 +222 收起 理由
Grayson.Shang + 222

查看全部评分

回复 使用道具 举报
zhangsheng
金牌服务用户   /  发表于:2024-3-8 11:43:52
3#
本帖最后由 zhangsheng 于 2024-3-8 11:45 编辑

一个线程还是扫描一个固定表,哪怕每分钟一检测更新执行队列,超时设置自身资源占用也是很低的。
没有这个顾虑,就可以大面积采用超时设置了。
谢谢格友的耐心讲解!
回复 使用道具 举报
Grayson.Shang活字格认证 Wyn认证
超级版主   /  发表于:2024-3-8 12:00:23
4#
感谢大佬支持,学到了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部