【问题标题】:Can multiple virtual workers share a same collection? (BluePrism)多个虚拟工作者可以共享同一个集合吗? (蓝棱镜)
【发布时间】:2019-05-27 01:17:39
【问题描述】:

我正在解决一个问题,我必须将数据从 csv 文件写入集合。 例如:我有一个包含 20 个项目的 csv 文件。这些项目被添加到队列中。每次处理队列中的案例时,我都会将项目编号写入集合中。最后,我将集合转换为 csv 格式。这与 1 个虚拟工作者完美配合。但是,当我使用多个工作人员时,他们只会将他们正在处理的项目编号写入集合中,因此该集合没有其他虚拟工作人员处理的案例的项目编号。

有没有办法让多个工作人员共享一个集合,这样我就不必在将其转换为 csv 文件之前丢失任何信息。?基本上,我希望所有项目都放入一个集合中,而不管哪个工人在它上面工作。

提前致谢。如果您需要有关此问题的更多信息,请告诉我。

【问题讨论】:

  • 听起来你应该重新设计你的设计,以更多地利用每个 CSV 项目的队列作为队列项目。然后,在单独的进程(设计为在单台机器上运行)中重新使用工作项来写出您要查找的文件。

标签: blueprism rpa


【解决方案1】:

据我所知,更多的用户无法在运行时访问同一个集合。不过,您可以尝试不同的方法:

  1. 起始 CSV 文件中是否也有项目编号?如果是这样,那么只需在将项目添加到队列时将项目编号添加到队列数据中,并使最后一个工作资源(处理最后一个待处理项目的那个)循环通过该批次中的工作项目(您可以使用标签来区分工作批次)和然后将数据传递给集合。

如果您在处理时收到项目编号,则只需在处理完后将其添加到队列数据中,然后在处理完整个批次后循环遍历队列,就像上面描述的那样。

队列数据存储在队列中,直到您手动删除它们,而会话结束后将删除集合的数据,因此您可以随时检索队列数据,我认为这是一个优势。

  1. 您可以在每个项目工作后直接将单个项目的数据添加到 CSV 文件中。您需要添加一些逻辑,以便资源在尝试将数据写入文件之前获取锁,以避免当 2 个或更多资源尝试同时访问文件时可能出现的异常。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-04
    • 1970-01-01
    • 2014-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多