找回密码
 立即注册

QQ登录

只需一步,快速开始

David.Zhong 讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-11-4 14:17  /   查看:2647  /  回复:0
本帖最后由 David.Zhong 于 2022-11-4 14:17 编辑

各位看官老爷万福金安~
007687A0.png358923034.png

今天给大家单独再说一说服务端命令对流程性能的影响。

咱们先来做一个测试哈,假设我们有一个请假的流程,当我们提交请假的时候,可能会有一系列的业务逻辑需要执行,比如说发送邮件等哈,再假设这些业务逻辑需要执行较长的时间,比如说10秒,我写了一个服务端命令来模拟一下~
image.png680322570.png
我们需要在提交请假的时候去执行这部分业务逻辑,在提交节点任务完成时去调用一下这个服务端命令,
image.png673101806.png
可以看到设置服务端命令时有一个异步发送请求的选项,默认是关闭的哈~

我们运行起来看下效果:
同步执行.gif683766784.png

可以看到我们在提交了请假单之后,等了有足足的十秒。
原因呢也很简单,活字格默认的逻辑是同步的,意思就是一个萝卜一个坑,我们会在执行完上一步所有的操作之后才会去执行下一个操作。
当我们的流程事件调用了服务端命令的时候,触发这个事件的时候就会去调用服务端命令,等服务端命令执行完之后,才会把结果通知到页面上,执行下一步操作。
当我们服务端命令需要执行需要的时间比较长的时候,页面上就会有类似于卡顿的现象。

那么如果避免这个现象呢?
也很简单,既然是因为我们要等上一个操作执行完,才会执行下一个操作导致的类似于卡顿的现象,并且,如果上一个操作的结果对下一个操作完全不会产生影响或者下一个操作不依赖上一个操作的结果,那么我们不等就是了呗~

00EBF891.gif258557433.png

实现的方法也很简单,在流程事件中调用服务端命令的时候,把异步发送请求勾选上就搞定啦~
image.png675488586.png
此时,我们再来看一下运行的效果:
异步执行.gif454484862.png
可以看到我们只用了0.1秒就搞定了之前需要10秒+才能完成的流程~
有demo有真相。
流程中同步和异步的区别.fgcc (603.21 KB, 下载次数: 301)

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部