本文介绍了在业务流程实例数据量大时,使用存储过程归档的方法及注意事项。提出了两种调用存储过程归档的方式:数据库作业执行和执行计划调用,并详细说明了各自的优缺点及适用场景。同时,还提供了其他相关参考链接,以便进一步了解业务流程归档的更多信息。
一、说明
1、当业务流程实例数据巨大,执行计划无法很快处理,可以是存储过程归档,存储过程参考附件。
2、特别注意1:处理时间一般只能在非生产时间,因为归档可能导致锁表,阻塞等,从而影响实际业务执行。
3、特别注意2:如果启用了存储过程归档,则业务流程归档执行计划需要停止。
二、有两中方式调用存储过程归档
1、数据库作业执行存储过程
如果用户环境是线下,并且允许创建数据库作业的情况下,可以参考下面链接
https://blog.csdn.net/lwandlw/article/details/121496772
2、执行计划调用存储过程
1)说明
1)如果所在数据库环境,不允许创建数据库代理作业,则可以使用此方法
2)创建自定义执行计划参考帖子:https://vip.kingdee.com/article/35401?productLineId=1
3)创建执行计划编译成组件,做成部署包,部署到网站上
二开插件部署安装参考帖子:https://vip.kingdee.com/article/5204?productLineId=1
4)如果启用了此执行计划,则需要把老的执行计划归档停止(即设置为停止状态)
5)调用存储过程执行可以通过服务插件代码,执行计划,或两种结合等多种控制方式,
下面分别做详细介绍。
2)服务插件代码中控制存储过程的调用
优点:只要在代码允许执行的时间段触发,可以让其一直在某个时间段执行,不需要管理它执行的间隔时间,
每次执行完就执行下一次,直到超出允许执行的时间范围。
缺点:不灵活,以后想改只能修改代码,触发后无法在页面手工停止。
适应:软件版本执行计划本身不支持Cron表达式,无法灵活配置;或本身就需要固定在某个时间段执行。
示例:假设运行存储过程每天18--24点,0点--8点执行,相应的代码和执行计划配置如下
1)服务插件代码
2)执行计划配置
3)或者通过执行计划的配置控制存储过程的调用
优点:可以灵活配置,停用下一次执行计划的调用
缺点:受后台服务调度,人工页面修改影响。
适应:软件版本支持Cron表达式,或不需要那么灵活配置
示例:假设让执行计划每天0点到8点,每5分钟执行一次,相应的代码和执行计划配置如下
1)服务插件代码
2)执行计划配置
3、或者服务插件代码和执行计划结合控制,按业务需求
四、其他参考
【业务流程】--通过临时表归档 https://vip.kingdee.com/article/388652410920895232?productLineId=1
【业务流程】--归档 https://vip.kingdee.com/article/171524?productLineId=1
业务流程归档存储过程--当前表到历史表.docx(32.33KB)
执行计划代码.docx(30.70KB)
推荐阅读