Knime异常处理(发生错误时重新执行)

问题

我的工作流程存在问题,节点可能会出错,需要手动重新执行。我相信该错误可能是由于我运行带有RFC连接器的并发节点而导致的,这些连接器不一定总是第一次连接。尽管一种选择是分别运行每个节点,但这并不是理想的选择,因为它会花费太长时间。

是否有一种简单的方法可以重新启动已停止的节点?使用“尝试/捕获”节点可以做到这一点,但似乎过于复杂,我一直无法弄清如何实现无限的“尝试/捕获”循环。

方案

在这里插入图片描述
在此示例工作流程中,我有一个“获取请求”节点,该节点可能在执行时产生错误(例如,如果在配置窗口中选中该选项,则在没有连接的情况下)。

我可以遍历节点,直到它们成功执行,然后我得到了想要的(在这种情况下为国家列表)。

我在主要节点(无配置)之前和主要节点使用“捕获错误”之后使用了“通用循环启动”和“尝试”。现在,对于在发生错误的情况下将使用的输入端口,我使用了一个表创建器,该表创建器包含与“捕获错误”节点的其他输入端口完全相同的结构,但具有1行,并且某列的值类似于“ error”(这将用作继续或停止循环的条件)。

然后,我使用“表行到变量”节点将任何输出的第一行转换为变量,并将其馈送到“可变条件循环结束”。在“变量条件循环结束”节点的配置窗口中,我选择了一个变量,该变量是从在“捕获错误”节点之前的表创建器中输入“错误”值的列中得出的。对于结束循环的条件,我选择了“不等于”符号(!=)并将值设置为“错误”,这意味着只要此变量的值不为“错误”,循环就会停止。然后,我选中了“仅从上次迭代收集行”选项,这样我将仅具有主流的输出。

视频

Knime 异常处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值