找回密码
 立即注册

QQ登录

只需一步,快速开始

wenzi1
中级会员   /  发表于:2022-10-25 01:50  /   查看:2801  /  回复:10
20金币
本帖最后由 wenzi1 于 2022-10-25 01:53 编辑

业务场景:需要在流程作废时和正常结束时,把流程实例的参与者都查询出来写入对应的表里。



环境:活字格+局域网的sqlserver数据库,报错服务端命令名称为【查找组成员】,命令有三个参数,按用户查找,按实例ID查找、按组织路径查找,三个都不是必填

问题:同个流程实例,在节点的高级设置→触发→任务取消时,【查找组成员】并且参数为【流程ID】时报错,参数为其他的都是正常的。

翻译报错信息:超时已过。在操作完成之前超时,或者服务器没有响应。
数据库在局域网,并且同一个流程实例,同一台电脑访问服务器的,【查找组成员】在其他节点都有使用过,所以推断不太可能时超时的问题。



尝试:
1.把流程ID在其他节点写进一个全局变量,直接使用关键字的%Process.Id%,都报错。修改服务端命令,把流程ID(变量和%Process.Id%)写入表里,发现能准确的读出值。
2.手动复制一个实例ID,在服务端命令上直接测试,可以返回准确的结果。
3.在报错的地方上测试【查找组成员】其他的参数(没有使用实例ID参数),没有报错。
4.把流程转成内建库后测试使用实例ID参数,没有报错。


由于内建库没有报错,所以提供工程文件也没有用。

问题复现建议:
1.随便建个需要流程实例ID参数的服务端命令。
2.在【填单】(或者其他节点)这个节点,高级设置→触发→任务取消时,使用该服务端命令。
3.在【填单】(或者其他节点)这个节点,常规设置→节点操作→添加一个行为类型为结束,名称为作废的操作,流程走到该节点后触发这个操作。
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

问题跟进: 您好,我们调查了一下发现,这个问题是因为这样产生的,流程作废时程序是需要往审批记录里面写数据的,而这时又触发服务端命令从审批记录视图里查询数据,就会造成冲突,可以通过勾选异步调用服务端命令来解决这个问题。 如果流程中调用的服务端命令返回信息,不在后续命令中使用的话,推荐您都勾选异步调用,这样也可以提升流程执行的性能

10 个回复

倒序浏览
最佳答案
最佳答案
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2022-10-25 01:50:05
来自 11#
问题跟进:

您好,我们调查了一下发现,这个问题是因为这样产生的,流程作废时程序是需要往审批记录里面写数据的,而这时又触发服务端命令从审批记录视图里查询数据,就会造成冲突,可以通过勾选异步调用服务端命令来解决这个问题。
如果流程中调用的服务端命令返回信息,不在后续命令中使用的话,推荐您都勾选异步调用,这样也可以提升流程执行的性能

本帖子中包含更多资源

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

x
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2022-10-25 09:55:58
2#
您好,可以尝试将数据库连接的高级设置中产生错误的连接次数和连接时长调高一点试试,如果还是不可以的话,如果您是用设计器测试的话,麻烦发一下您的设计器错误日志,如果是发布到服务器中的话,发一下您的服务器错误日志,我们看看能不能找出什么问题


本帖子中包含更多资源

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

x
回复 使用道具 举报
wenzi1
中级会员   /  发表于:2022-10-25 13:51:47
3#
本帖最后由 wenzi1 于 2022-10-25 13:54 编辑
Lay.Li 发表于 2022-10-25 09:55
您好,可以尝试将数据库连接的高级设置中产生错误的连接次数和连接时长调高一点试试,如果还是不可以的话, ...

我用的是设计器测试,


本帖子中包含更多资源

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

x
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2022-10-25 15:31:05
4#
大佬,看您这个错误日志,报错的不止这一个命令哈,其他命令也有相同的报错

另外这里传参选流程id的时候选这个应该就可以了哈,您可以再服务端命令中使用使用流程id测试一下服务端命令看看会不会出错。






或者您也可以上传一下您的工程文件和外连数据库备份sql文件,我们看看能不能在本地还原调查一下

本帖子中包含更多资源

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

x
回复 使用道具 举报
wenzi1
中级会员   /  发表于:2022-10-25 16:39:13
5#
本帖最后由 wenzi1 于 2022-10-25 16:42 编辑
Lay.Li 发表于 2022-10-25 15:31
大佬,看您这个错误日志,报错的不止这一个命令哈,其他命令也有相同的报错

另外这里传参选流程id的时候 ...

一、【测试组人员】这个报错,是我特意重写了一个只需要实例ID作为参数的,进行测试。加上内联库测试没有问题,总结出:流程数据在外联库,触发事件为【任务取消时】,【操作】里的【行为类型】选【结束】,此时使用实例ID为参数,就一定会报错,随时可以复现,我现在感觉是bug。
二、使用关键字的%Process.Id%进行传参我试过了,提问题时已经阐述过了。

三、复现这个问题很容易,提问题时已经阐述过了。不过你要求,我就照做上传数据,还好在测试阶段,没有什么敏感数据。



         

本帖子中包含更多资源

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

x
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2022-10-25 16:55:03
6#
因为我这边见了一个流程和服务端命令,确实没有复现这个问题,这边再使用您的流程测试一下哈
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2022-10-25 17:45:20
7#
大佬,复现了哈。命令中添加一个从审批获取数据的命令就复现了,这边给开发同事反馈一下哈


本帖子中包含更多资源

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

x
回复 使用道具 举报
wenzi1
中级会员   /  发表于:2022-10-25 17:54:56
8#
吐槽一下,在使用7.0的时候就很看好8.0的流程,甚至开发的时候,都没敢用7.0的流程开发,因为知道不能平滑升级到8.0新的流程,所以7.0的时候自己用服务端命令做了个不够灵活的工作流。8.0出来还不敢马上升级,结果还是要踩坑。决定要升级,花几天时间把论坛上工作流的教程都看了一遍,又花几天时间消化了一下,才实际操作,还好不敢在生产环境的工程实操,不然卡在中间就麻烦。
1.论坛的搜索有时候找个问题,搜出了的帖子看几十个贴还没有找到解决方案,指得是已经有人发过问题的,就是搜不出来,或者要发大量的时间去一个贴一个贴翻,才找得到。
2.不管是不是金牌用户,官方解决用户问题主推在论坛发帖,可是用户有时候工程就要好多时间去准备,因为生成环境的数据一般不外泄,就得从做一个工程。准备麻烦的工程,主动远程查看一下,省去用户在论坛上花几天时间来阐述一个问题,还没有到解决问题这步。远程了解问题它不香吗?
3.别的不说我就想实现一个相对简单的工作流,从提第一个问题到现在总的提了三个问题,前2个问题分别用了4天和5天的时间,这4、5天时间多数花费在阐述问题身上,还得用户平时一直关注着论坛,即时回答并提供新的材料。才能达到4、5天时间处理一个问题(注意:处理不是解决)。我理解的活字格应该是一个有效率且灵活的开发工具,就这和用户沟通的渠道就已经很没有效率了。
4.官方一直建议,一个问题发一贴,方便别的用户搜索,我觉得这前提是论坛的搜索功能好使,否则只会降低搜索的精确度,搜出更多不是对症的帖子,增加用户的阅读时间,同时也增加官方处理问题的工作量。
5.坑有大有小,有深有浅,以下两个问题我不觉得藏得有多深。


8.0.4流程,创建工作流和节点提交,很慢,是正常的吗?,换成内网的数据库才解决,还好公司没有上云,不然就解决不了了。
8.0.4.0流程,负责人为变量时,变量变化两次后,取值不对,还没有解决方案,思考着用流程命令+服务端命令解决。这样8.0流程宣传的灵活,就没有了。



回复 使用道具 举报
wenzi1
中级会员   /  发表于:2022-10-25 18:06:07
9#
Lay.Li 发表于 2022-10-25 17:45
大佬,复现了哈。命令中添加一个从审批获取数据的命令就复现了,这边给开发同事反馈一下哈

...

是的,我两个报错的服务端命令,都是需要从这个视图里获取数据。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部