基本解决方案:
在任何时候分解您拉入集合数据项的 Excel 行数。此阈值取决于您的资源系统内存和体系结构,以及 Excel 工作表中数据的结构和大小。我已经能够快速将 50k 10 列行从 Excel 移动到集合,然后非常快速地进入 Blue Prism 队列。
您可以通过指定 Excel 工作表范围以拉入集合数据项来进行设置,然后在每次将集合成功添加到队列时移动该范围。
在每次成功添加到队列之后和/或在移动范围之前和/或在预定义的计数限制处,您可以运行清理或垃圾收集操作以释放内存。
您可以使用提供的 Excel VBO 和附加的清理对象来完成所有这些操作。
请记住:
即使将其分解,循环遍历这么大的集合来修改数据也将非常昂贵且缓慢。更改数据的最有效方法是在 Excel 工作簿级别或当它已经在 Blue Prism 队列中时。
最佳选择: esqew的替代解决方案是最优雅的,可能是您最好的选择。
Jarrick 直截了当地指出,Work Queue 项目应该为机器人提供有关它们要处理的内容和控制室反馈空间的信息,而不是要实施/操作的实际工作数据。
在这种情况下,您可能只想使用项目工作表行号和/或单个工作表列中的某些唯一标识符作为队列项目数据,以便机器人可以提供有关项目状态的控制室反馈。如果此信息在格式上足够可预测,则无需将任何数据从 Excel 工作表移至集合,然后移至工作队列,而只需根据该数据可预测性构建队列。
相反,您也可以让机器人“在发生时”构建队列,因为一旦它从 Excel 工作表中获取单行数据来处理它,也可以添加一个带有数据行号的队列项。这将启用控制室反馈和跟踪。但是,在几乎所有情况下,这都是一种不好的做法,因为它不会阻止一行被多次处理,除非机器人首先检查队列,此时您已经否定了您希望在首先切断最初的队列建设。也无法扩展多个机器人有效处理 Excel 工作表数据的过程。