一种RPA应用中异常类错误处理方法与流程

文档序号:32223101发布日期:2022-11-16 12:20阅读:475来源:国知局
一种RPA应用中异常类错误处理方法与流程
一种rpa应用中异常类错误处理方法
技术领域
1.本发明涉及rpa技术领域,具体涉及一种rpa应用中异常类错误处理方法。


背景技术:

2.rpa的全称为机器人流程自动化(robotic process automation),能够将工作信息与业务交互通过机器人来按照自先设计的流程去执行,无人值守可24小时不停的工作,在解放人力的同时也面临一些挑战:当某些比较重要的应用程序运行出错时,往往需要由人工来介入处理,怎样去捕获应用每次的运行状态,以及如何通知到相关的负责人处理成为关键点。
3.市面的rpa工具在处理异常类的错误,一般只能在应用中全局捕获,再将异常信息发送给负责人,其缺点是处理起来繁琐,需要每个应用都添加相应的处理代码,开发成本高,当需要替换通知方式或者添加消息处理负责人时,需要每个应用的修改过去,维护成本极高。


技术实现要素:

4.本发明的目的在于,提供一种rpa应用中异常类错误处理方法。本发明可以进行全局的异常出错处理,方便用户能随时随地的了解应用是否异常,便捷地进行rpa应用的异常处理。
5.本发明提供的技术方案如下:一种rpa应用中异常类错误处理方法,包括如下步骤:
6.步骤1、设置消息处理模块,用于触发全局错误处理;
7.步骤2、设置全局任务队列,存储待执行rpa应用的任务信息;
8.步骤3、设置监听线程,监听线程监听全局任务队列;
9.步骤4、在某个rpa应用运行结果为异常退出时,监听线程监听回传的任务状态,开启异常处理通知;
10.步骤5、调用服务端接口,获取步骤4中开启的异常处理通知,构成全局错误列表;
11.步骤6、消息处理模块根据全局错误列表依次触发全局错误处理。
12.上述的rpa应用中异常类错误处理方法,所述消息处理模块为邮件处理通知模块、即时通讯软件消息通知模块和/或指定应用执行模块。
13.前述的rpa应用中异常类错误处理方法,所述邮件处理通知模块在触发全局错误处理时,将异常处理通知进行发送至指定邮箱。
14.前述的rpa应用中异常类错误处理方法,所述邮件处理通知模块使用第三方库mailkit的smtpclient创建smtp连接,通过用户设置的登陆和授权码相关信息,连接并通过send方法发送异常处理通知信息到指定邮箱。
15.前述的rpa应用中异常类错误处理方法,所述即时通讯软件消息通知模块在触发全局错误处理时,将异常处理通知进行发送至相关的告警通知群。
16.前述的rpa应用中异常类错误处理方法,所述即时通讯软件消息通知模块将需要发送的异常处理通知消息组装成平台需要的json格式,通过restsharp库创建一个http请求对象,将用户设置的webhook地址和密钥传入,调用excute方法采用post的方式发送到对应通讯软件的服务端,服务端将收到的信息再转发到用户设置的即时通讯软件的客户端。
17.前述的rpa应用中异常类错误处理方法,所述指定应用执行模块在触发全局错误处理时,选择执行指定的rpa应用。
18.前述的rpa应用中异常类错误处理方法,所述rpa应用的任务信息包括任务id、任务名称、触发器类型、创建时间和是否排队执行。
19.前述的rpa应用中异常类错误处理方法,所述指定应用执行模块选择执行的rpa应用时,将rpa应用的任务信息组装后,添加到全局任务队列中等待排队执行。
20.与现有技术相比,本发明将rpa应用运行结果的异常处理通知填充到全局错误列表中,然后设置消息处理模块,消息处理模块根据全局错误列表依次触发全局错误处理,以此本发明的全局错误处理,不需要针对每个应用都设置一遍异常处理步骤,降低了开发和维护的成本;本发明可以支持多种形式和多种软件的触发,能够满足大部分的办公应用场景,让用户能随时随地的了解rpa应用是否异常,且能及时处理。本发明还可以通过执行指定rpa应用,可以对执行的出错应用做一些数据回滚或者报警类的处理,在处理方式上更加的灵活和高效。
附图说明
21.图1是本发明的流程示意图;
22.图2是邮件处理通知模块设置示意图;
23.图3是即时通讯软件消息通知模块设置示意图;
24.图4是指定应用执行模块设置示意图。
具体实施方式
25.下面结合实施例和附图对本发明作进一步的说明,但并不作为对本发明限制的依据。
26.实施例:一种rpa应用中异常类错误处理方法,包括rpa机器人,该rpa机器人为影刀机器人,可通过网页下载安装。所述rpa机器人由指令集,流程设计器,结果调试器,流程管理器,全局变量管理器以及工具栏组成。
27.指令集:用于存放管理rpa指令,用户可以选择需要的指令通过双击或者拖拽的方式添加到流程设计器,进行自由设计。
28.流程设计器:为用户提供可视化rpa流程编辑平台。
29.结果调试器:用于显示程序错误信息,日志信息以及其他调试数据。
30.流程管理器:管理rpa流程以及python脚本等流程文件。
31.全局变量管理器:管理全局变量。
32.工具栏:包含了流程编排、调试功能和智能录制等功能。
33.本实施例的具体流程步骤如图1所示,包括:
34.步骤1、设置消息处理模块,用于触发全局错误处理;
35.所述消息处理模块为邮件处理通知模块、即时通讯软件消息通知模块和/或指定应用执行模块。
36.如图2所示,所述邮件处理通知模块在触发全局错误处理时,将异常处理通知进行发送至指定邮箱,设置多个接收邮件的账户,用户可配置由影刀rpa机器人发送,也可自定义邮箱发送。
37.如图3所示,所述即时通讯软件消息通知模块在触发全局错误处理时,将异常处理通知进行发送至相关的告警通知群。本实施例支持主流的办公通讯软件,包括钉钉、飞书、企业微信,可在各类软件的pc客户端获取webhook地址,获取该地址之后,即可向相关的告警通知群自动推送消息。
38.如图4所示,所述指定应用执行模块在触发全局错误处理时,选择执行指定的rpa应用,该指定的rpa应用可以对执行的出错应用做一些数据回滚或者报警类的处理,在处理方式上更加的灵活和高效。
39.步骤2、设置全局任务队列,存储待执行rpa应用的任务信息;所述全局任务队列是在rpa机器人的程序封装priorityblockingcollection(优先级阻塞收集)类,内部组合了一个blockingcollection(阻塞集合)类型的线程安全的全局任务队列,激活的rpa应用都会进入到该队列中排队执行。
40.在程序启动之初,会初始化该全局任务队列,全局任务队列里存放任务信息(taskinfo),任务信息包括任务id、任务名称、任务类型(触发器类型)、创建时间、是否排队执行(由于应用运行是单线程模型,即每次只能运行一个应用,所以需要排队执行,当任务不选择排队执行且此时刚好有任务在运行,则会直接将其状态修改为失败,不再执行)等;
41.步骤3、设置监听线程,监听线程监听全局任务队列;
42.步骤4、在某个rpa应用运行结果为异常退出时,监听线程监听回传的任务状态,开启异常处理通知;具体是,监听线程获取任务,通过autoresetevent(自动重置事件)信号量控制,当一个应用运行结束之后,调用continuewith设置好的回调方法,当回传的任务状态isfaulted(有缺陷)是true的时候,会调用handletaskerror(处理错误任务)方法来处理开启的异常处理通知。
43.步骤5、调用服务端接口,获取步骤4中开启的异常处理通知,构成全局错误列表;实施例中,当获取到的信息不为空时,遍历获取到的信息,根据不同的errorhandingkind(错误处理)类型,来添加到类型为ierrorhandingrule(错误处理规则)的列表当中,得到全局错误列表;
44.步骤6、消息处理模块根据全局错误列表依次触发全局错误处理。
45.若是邮箱触发,则使用第三方库mailkit的smtpclient创建smtp连接,通过用户设置的登陆和授权码相关信息,连接并通过send方法发送消息到指定邮箱;
46.若是即时通讯软件触发的方式,则是将需要发送的异常处理通知消息组装成平台需要的json格式,通过restsharp库创建一个http请求对象,将用户设置的webhook地址和密钥传入,调用excute方法采用post的方式发送到对应通讯软件的服务端,服务端将收到的信息再转发到用户设置的即时通讯软件的客户端。
47.若是指定应用执行模块触发,则将rpa应用的任务信息组装后,添加到blockingcollection全局任务队列中等待排队执行。
48.通过以上方式,本发明将rpa应用运行结果的异常处理通知填充到全局错误列表中,然后设置消息处理模块,消息处理模块根据全局错误列表依次触发全局错误处理,以此本发明的全局错误处理,不需要针对每个应用都设置一遍异常处理步骤,降低了开发和维护的成本;本发明可以支持多种形式和多种软件的触发,能够满足大部分的办公应用场景,让用户能随时随地的了解rpa应用是否异常,且能及时处理。本发明还可以通过执行指定rpa应用,可以对执行的出错应用做一些数据回滚或者报警类的处理,在处理方式上更加的灵活和高效。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1