如何在不提供时间参数的情况下使用Akka未来?

时间:2015-03-10 08:48:02

标签: scala akka actor future

我有两个主要演员(主要工作人员,第二主要工作人员) -

1.主要工作人员将样本组划分为单个样本 2.sec主要工作人员获取样本并进行处理。(使用子工作人员)

问题:我希望主工作人员等待加载任何新的样本组,直到旧样本组完成。处理每个样本组所花费的时间各不相同。在这种情况下如何使用期货?每个主要工作人员在完成样本组结束时发送样本组已完成的消息。

当时间限制未知时,可以在这种情况下使用期货吗?我是期货的新手,我搜索过的大多数期货的例子都有一段时间了。

1 个答案:

答案 0 :(得分:0)

这是一个不依赖期货或​​时间的情景示例:

场景示例:

Actor1拆分样本组并保留样本集合 在接收中,您可以从Actor2获取新样本的请求,并将其从当前样本集合中删除。 当样本集合为空时,您可以请求新的样本组。

Actor2具有相同的集合机制,用于跟踪当前样本的已完成工作,每次子工作完成任务时将其从集合中删除。当集合变空时,请求来自Actor1的新样本

您可能希望在Actor2上安排超时,因此如果它没有超过一个时间间隔的消息,那么您可以抛出错误或重试再次处理该示例。