EAS工作流问题排查 之 没有正在运行的对应流程实例

概念澄清
流程日志
案例分析
案例总结
结束语
概念澄清
单据提交的时候是否会走工作流取决于单据的实际业务,如果确定你所在的业务线需要流程来驱动单据走业务的,那么这篇文章对你便是有帮助的。
总体上把单据不触发工作流分为这几类:
所有单据都无法触发流程
某些用户无法触发流程
某一类单据无法触发流程
部分单据无法触发流程
下面将会介绍上面4类,并给出解决方案
流程日志
涉及到3类:
流程引擎日志,路径:客户端》流程引擎日志
workflow.log.*/工作流日志,路径:eas\server\profiles\server{n}\logs \Workflow.log.*
apusic.log.*/阿帕斯日志,路径: eas\server\profiles\server{n}\logs \apusic.log.*
怎样判断是否应该由工作流来分析问题
收集单据提交时段的工作流日志workflow.log,打开这些日志用单据ID去搜索,假设单据ID为:p4AAAABvKQlj0wED,看是否能搜到如下图的信息:Submit p4AAAABvKQlj0wED,如果能匹配到如下信息, 则说明进了流程服务,如果在任何日志中都没匹配到 则说明业务有参数控制,不走工作流,需要找对应的业务同事去分析,shr的单就找shr同事,房地产的单就找房地产同事分析...

案例1-所有单据都无法触发流程
问题描述:所有的单据都无法触发流程,在这之前流程没有任何问题
问题原因:
工作流license出问题
后台事务堵塞
处理过程:
在管理控制台或者客户端查看是否有工作流的许可,或者许可是否过期
打开后台事物监控,看是否有大量任务状态是就绪中,如果存在大量任务是就绪中状态在观察执行中任务是否一直没有变化卡死或者执行很慢(可以通过开始时间观察)。如果确定是后台事物堵塞,请联系执行中相关比较慢的功能的业务排查具体原因。同时收集当时的线程堆栈信息。
如果以上2个问题现象都不存在。则收集工作流日志,打开日志搜索关键字 no BPM license ,如果能搜到也说明工作流license出问题了。如下图:

案例2-某些用户无法触发流程
问题描述:某些用户提交单据无法流程,可能在重新登录客户端之后又可以触发流程。其他用户一直可以
问题原因:
该用户是非职员用户(这种如果不能触发,则一直不能触发)
某些EAS实例校验license出问题
处理过程:
在客户端》流程引擎日志 中去查看是否存在对应时间点的记录。存在的话,双击打开,是否有类似下图的日志描述

如果有类似上图Can not start process,can't find natched processDef by person!的描述则证明提交人是非职员用户,非职员用户一度是不能使用工作流的。但是现在打工作流最新的补丁即可支持非职员用户提交流程(仅限EAS820版本及以上,补丁查看方式https://vip.kingdee.com/knowledge/specialDetail/79212475333201152 【BOS核心引擎_工作流】)
针对EAS实例校验license出问题,详见案例1。
案例3-某一类单据无法触发流程
问题描述:某一类单据无法触发流程
问题原因:
流程被禁用
流程过期
业务存在参数控制该单据是否走工作流
二开的单据代码问题
单据提交按钮/提交事件与流程提交节点配置的任务不匹配(有调整过function元数据)
处理过程:
客户端 》流程定义表 查看流程是否启用,没有启用 则 启用流程
客户端 》流程引擎日志 中去查询,对应时间点的日志,查看 流程是否过期,如下图:
如果有如上的描述则说明流程过期了,打开bos工具找到对应的流程,调整一下失效时间即可:
确定了流程启用且没有过期之后。则需要收集 工作流日志。
EAS工作流问题排查 之 没有正在运行的对应流程实例
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



