工作流异常的几种解决办法
工作流在运行过程中会因为各种原因的异常,有些原因是无法提前避免的,因此异常后如果处理也很关键。
首先,我们先看下有多少种异常的情况,以及各种情况下的解决办法
1、流程挂起:流程实例状态为挂起
挂起原因:
A、解析不出参与人挂起;可以用流程管理中心的恢复按钮,如果已经对参与人进行了修正(这里不是修改流程,因为流程修改发布后才生效),可以点直接恢复,如果不需要修正数据可以直接转发给其他人处理。
点恢复按钮,如果参与人经过数据修复(例如因为配置的参与人是员工没有和用户关联的情况,可以关联后),可以再次解析出来,可以选择直接恢复,如无法直接恢复,选择新的接收人后点转发。
B、没有符合条件的参与人方案挂起;点恢复进行转发或者修正单据数据直接恢复
C、连线条件不满足挂起:如果可以对不满足条件的数据进行修正(此时修改数据比较困难),可以修正后点恢复按钮,如果无需修正,可以点跳到下一节点按钮;
D、死锁挂起:需要管理员在数据上执行下面的语句,将死锁语句抓出来提单给到我们分析死锁发生在哪里。
抓取死锁的sql:
E、流程处理时连不上数据库挂起:如果当前节点的审批项已处理,数据库连接已正常,可以用跳到下一节点按钮跳过。(一般情况可以跳过,但是如果挂起节点关联了操作未执行,建议重新走流程,或终止流程后在单据列表上执行这个操作)
此类报错也是连接数据库问题
2、流程状态运行中或者为空,提示阻塞
一般原因:
A、服务器重启的时候(例如安装补丁时),有处理人在提交流程,导致流程处理被中断了;
此类异常可以自动修复,如果没有自动修复需要查看下面几个地方:
执行计划列表:找到这个执行计划,查看运行日志是否正常.是否为准备状态
如果没运行,需要查看应用服务器上的服务:K3cloudJobProcess,执行计划列表都是依赖这个服务运行的,可以重启下这个服务
如果服务重启后,执行计划依然未自动执行,可以检查管理中心这个选项
如果以上都正常了,在执行计划上点击测试,进行手工修复,如果异常流程仍然没恢复,就只能使用跳到下一节点进行跳过了。
B、应用服务器上的K3CloudMQ服务不正常工作了,导致新提交的流程状态为空白;
此时操作终止且反审核会提示冻结(该提示是避免频繁点击导致的服务器压力过大进行的控制)
运行中的流程卡在某个节点显示已处理:XXX,未处理
查看流程图:
以上问题如果当时无法远程到应用服务器上去,可以先将流程处理模式改为同步模式,这样新提交的流程应该是正常的;
等可以连上应用服务器后,需要去服务中重启k3cloudMQ服务。重启后再将处理模式改回消息队列(因为同步模式在并发反写时会有网控问题)
重启服务后,有些异常的流程会自动恢复,提交后状态空白的流程如果还无法自动恢复,可以终止且反审核后重新提交。
3、流程运行过程中到达某个节点不继续运行了,也没挂起,流程实例状态是运行中,但没待办产生
原因:该节点设置了后置条件,或下一个节点设置了前置条件导致。节点前后置条件将在2023.9月补丁屏蔽,因为这个条件没什么场景使用,反而会造成一定的困惑。
4、如图:此类挂起,最新补丁已修复,建议升级,升级后,这些挂起的流程不会修复,需要跳到下一节点。(一般发生在最后一个节点处理后挂起,所以跳到下一节点或终止是可以的)
工作流异常的几种解决办法
本文2024-09-23 03:36:00发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-159890.html