照理说一个无人值守的机器人原本是不应该有人工操作介入的,也就不会提供暂停功能。但客户可能出于业务需要,或者风险管控的考虑,会需要机器人具备暂停功能。通常,会希望在机器人运行时,用户摁下快捷键,机器人就马上暂停,而暂停之后也能够恢复。

那么如何在机器人执行正常业务流程的同时,检测快捷键是否被摁下呢?这里可以使用Pick(System.Activities.Statements.Pick)来实现这个效果。如下图如示。左侧只是用来模拟通常的业务流程,各位可以将自己实际的workflow放进去。右侧分支在Trigger中放入一个Monitor Events(UiPath.Core.Activities.MonitorEvents)用来同时检测快捷键是否触发。实际运行的时候,Pick的逻辑是这样的,两个分支的Trigger部分会并行执行(但其实各个分支的启动还是有细微的时间差的,这个在此先不讨论),哪一个分支的Trigger先运行完毕,就会运行那一个分支的Action部分并且其它分支会停止执行。

既然我们已经能够在主流程运行的同时检测快捷键是否触发,那么我们接下来要解决的问题就是如何暂停(阻塞)主流程的运行。这里要注意的一点是,用户暂停后,应该也能够取消暂停状态继续执行,所以这里采用的方法一定要能够接收用户的输入。对此,我在Monitor Events中利用了Message Box,当然读者也可以根据实际情况选择其它具有类似作用的Activity。Monitor Events中的内容大致如下所示。我们可以看到,当用户摁下Ctrl+P时,机器人就会暂停并且弹出对话框提示机器人已暂停,一旦用户点击确定按钮,机器人就会继续运行下去。

我在主流程中做了一个无限循环打印时间的设计用来模拟实际的业务流程。机器人运行中摁下Ctrl+P在Output窗口中看起来的效果就是如下图所示这样。

要特别注意的一点是Monitor Events的属性中有一个RepeatForever一定要设为True,否则机器人只能暂停一次。。。

另外,当一个Workflow通过Invoke Workflow File去调用另一个Workflow时,调用方和被调用方(简称父子workflow)其实是运行在两个线程中的,而Message Box只能暂停自己所处线程的执行,因此要特别处理。一般来说,子Workflow未运行完毕时,父Workflow并不会继续运行下去,所以在子Workflow中实现暂停功能即可。

转载于:https://www.cnblogs.com/ybyebo/p/HowToPauseUiPathRobotExecution.html

UiPath如何实现暂停功能?相关推荐

  1. 推荐一款带暂停功能的轮播组件,不要谢我,我叫红领巾!

    阅读目录 一.效果展示 1.先跟大家见个面,打个招呼 2.什么?切换太慢了?好,加快速度! 3.加入其他功能 4.图片太小,看不出效果?好,那来个大图感受下! 5.如果你不想要右上角的小图标,照样可以 ...

  2. python暂停和恢复游戏_pygame游戏之旅 添加游戏暂停功能

    pygame游戏之旅 添加游戏暂停功能 来源:中文源码网    浏览: 次    日期:2019年11月5日 [下载文档:  pygame游戏之旅 添加游戏暂停功能.txt ] (友情提示:右键点上行 ...

  3. Javascript中暂停功能的实现

    JavaScript实现暂停功能 <meta http-equiv="Content-Type" content="text/html; charset=utf-8 ...

  4. 【Cocos游戏实战】功夫小子第七课之游戏主功能场景逻辑功能和暂停功能场景的分析和实现...

    CSDN的markdown编辑器是吃屎了么! !.什么玩意.!写了一半写不了东西还全没了,搞个毛线! 本节课的视频教程地址是:第七课在此  假设本教程有帮助到您,希望您能点击进去观看一下,并且如今注冊 ...

  5. python-pygame实现飞机大战-5-屏幕渲染绘制分数、生命数、超级炸弹数以及暂停功能

    承接上4步: 1.添加背景以及飞机运动:https://blog.csdn.net/weixin_38778769/article/details/117329303 2.添加敌机以及碰撞爆炸:htt ...

  6. java连连看倒计时_0053 游戏连连看增加倒计时和暂停功能和提示功能

    原标题:0053 游戏连连看增加倒计时和暂停功能和提示功能 上节课增加了更多的功能,让游戏可以持续玩下去,并处理了游戏结束和重新开始. 这节课来增加更多的功能:提示功能.倒计时功能和暂停功能. 将关卡 ...

  7. java程序暂停指令_Javascript中暂停功能的实现代码

    /*Javascript中暂停功能的实现 Javascript本身没有暂停功能(sleep不能使用)同时 vbscript也不能使用doEvents,故编写此函数实现此功能. javascript作为 ...

  8. 三菱PLC通过ALTP和CJ指令实现暂停功能的具体方法及程序示例

    三菱PLC通过ALTP和CJ指令实现暂停功能的具体方法及程序示例 首先,我们来了解下ALTP和CJ指令的功能和用法: ALTP:交替输出 输入为ON时,使位元件反转用的指令

  9. 阴阳师服务器维护结界卡暂停吗,阴阳师BUFF暂停功能你不能不知道的六件事

    阴阳师BUFF暂停功能已经正式上线啦,哪些种类的加成可以暂停?在哪里找暂停按钮?暂停有时间限制吗?有次数限制吗?关于BUFF暂停你不能不知道的六件事! 一.在哪里暂停? 在庭院处点击头像右边的&quo ...

最新文章

  1. 使用Aspose.Pdf for .NET实现PDF文档到Excel、EPS、SVG等的转换
  2. SAP MM 预留单据的历史修改记录?
  3. 单例设计模式八种方式——5) 懒汉式(线程安全,同步代码块) 6) 双重检查 7) 静态内部类 8) 枚举
  4. Image Lab 6 for MacOS WIN 图像分析软件下载
  5. 【福利】囚犯抓绿豆,谁生谁死?
  6. BugkuCTF-Crypto题告诉你个秘密
  7. layui 分页ajax,实现Ajax异步的layui分页
  8. 使用Jupyter Notebook+bokeh绘图入门完整步骤
  9. sql server 查询重复的数据
  10. 下载远程url文件(或者文件流)到本地
  11. 如何制作一张3D复古拼贴海报 Part II
  12. python银行利息问题_(完整版)存款利率问题应用题
  13. 计算机网络基础与应用复习提纲,计算机网络及应用期末复习提纲
  14. 物联网平台面临哪些困境
  15. Dubbo原理简单分析
  16. 最大斑块指数怎么算_教你一个看血管硬化指数的精准公式!
  17. AlexNet分类Fashi-MNIST(Pytorch实现)
  18. 从虚拟试衣到设计海报,京东黑科技让时尚行业大变脸
  19. OCR -上传图片 自动识别文字并填充
  20. 实现 RSA 算法之改进和优化(第三章)(老物)

热门文章

  1. android 接百度SDK遇到的坑(百度地图BD09经纬度转高德地图GCJ02经纬度)
  2. LKT系列加密芯片如何预置openssl生成的rsa密钥完成运算(二)
  3. VB如何判断文件正被占用/已被打开
  4. Redis实现计数器---接口防刷
  5. 设计模式(三):单例模式
  6. 项目中SQL语句的一些应用总结
  7. 赛灵思推7nm加速平台:面向所有场景、所有开放者,AI推理性能提升8倍
  8. 哐!英特尔的无人机砸中你头顶
  9. 英伟达新GPU发布:快到飞起,快到老黄瞬间学会了跳舞
  10. AI人才有多贵?年薪三五十万美元起步,高校教授大量投身工业界