C# 父参与者如何跟踪子参与者执行的子任务的状态

C# 父参与者如何跟踪子参与者执行的子任务的状态,c#,akka,akka.net,C#,Akka,Akka.net,我有一个分析大量数据的actor系统,我实现的方式是父actor将任务划分为并行运行的多个子actor。这部分很好用。我的问题是,父参与者如何获得每个子参与者的状态,以便知道子任务已完成?让子参与者在完成时告诉父参与者,他们还可以告诉更新等 编辑:如果你想要一个响应集合的结果。。。然后使用参与者来聚合响应?或者,只需使用计数。然而,如果你花20秒的时间思考,答案是完全正确的。如果您希望一个子参与者向其父参与者提供其进度的更新—无论解决方案的复杂性如何—您必须告诉父参与者其进度。如果您想在中间插入

我有一个分析大量数据的actor系统,我实现的方式是父actor将任务划分为并行运行的多个子actor。这部分很好用。我的问题是,父参与者如何获得每个子参与者的状态,以便知道子任务已完成?

让子参与者在完成时告诉父参与者,他们还可以告诉更新等

编辑:如果你想要一个响应集合的结果。。。然后使用参与者来聚合响应?或者,只需使用计数。然而,如果你花20秒的时间思考,答案是完全正确的。如果您希望一个子参与者向其父参与者提供其进度的更新—无论解决方案的复杂性如何—您必须告诉父参与者其进度。如果您想在中间插入参与者,或者在父参与者中使用计数来计算您在整个过程中所处的位置,那么答案仍然是在完成后告诉父参与者

你会得到你所问问题的答案。如果你问错了问题,那么仅仅因为答案没有回答你想要的问题并不意味着他们错了,特别是考虑到他们仍然是正确的答案

在这里回答问题的人不需要——也不应该期望——阅读对问题的评论——但是询问者需要更新问题。不好笑,但我很忙,你不应该让我帮你工作

这个问题应该结束,因为它是重复的/模糊的/不正确的。
当你得到这样的回答来合法地回答问题时,这会使回答者对提问者的攻击感到有道理。

让孩子演员在完成后告诉家长演员,他们还可以告诉更新等

编辑:如果你想要一个响应集合的结果。。。然后使用参与者来聚合响应?或者,只需使用计数。然而,如果你花20秒的时间思考,答案是完全正确的。如果您希望一个子参与者向其父参与者提供其进度的更新—无论解决方案的复杂性如何—您必须告诉父参与者其进度。如果您想在中间插入参与者,或者在父参与者中使用计数来计算您在整个过程中所处的位置,那么答案仍然是在完成后告诉父参与者

你会得到你所问问题的答案。如果你问错了问题,那么仅仅因为答案没有回答你想要的问题并不意味着他们错了,特别是考虑到他们仍然是正确的答案

在这里回答问题的人不需要——也不应该期望——阅读对问题的评论——但是询问者需要更新问题。不好笑,但我很忙,你不应该让我帮你工作

这个问题应该结束,因为它是重复的/模糊的/不正确的。
当你得到这样的回答来合法地回答问题时,这会使回答者对提问者的攻击感到有道理。

为什么不让儿童演员在完成工作时使用Context.parent.Tell向他们的父母传达信息呢?听起来你不需要比这更复杂的事情了。我就是这么做的。当父级收到消息ImportCustomerData时,它将发送4个子角色ImportData,然后父级将等待来自所有4个子角色的ImportComplete消息,然后任务完成。我现在的做法是,父级维护CustomerId的列表字典,并为正在由子参与者处理的数据项维护标记。我在问有没有更好的办法。我想你走对了。另请参见该帖子中的链接,其中包含一个与您想做的事情非常类似的问题,这基本上是聚合器模式。如果你搜索聚合器模式,你会发现更多有用的材料@在我看到你的评论之前,我正准备用聚合器模式回答。我认为这确实应该是一个答案,这是正确的做法。@easuter看起来我的方法已经足够接近了,尽管您共享的创建参与者以聚合结果的链接更为清晰。为什么不让子参与者在使用Context.parent.Tell完成工作时向他们的家长发送消息呢?听起来你不需要比这更复杂的事情了。我就是这么做的。当父级收到消息ImportCustomerData时,它将发送4个子角色ImportData,然后父级将等待来自所有4个子角色的ImportComplete消息,然后任务完成。我现在的做法是,父级维护CustomerId的列表字典,并为正在由子参与者处理的数据项维护标记。我在问有没有更好的办法。我想你走对了。另请参见该帖子中的链接
涵盖了一个与您想要做的非常类似的问题,这基本上是聚合器模式。如果你搜索聚合器模式,你会发现更多有用的材料@在我看到你的评论之前,我正准备用聚合器模式回答。我认为这确实应该是一个答案,这是正确的做法。@easuter看起来我的方法已经足够接近了,尽管您共享的创建参与者以聚合结果的链接更干净。如果您在上面看到我的评论,只向家长发送消息并不能解决我的问题,我最关心的是如何更好地汇总儿童演员的结果,以确定整个任务是否完成。@John Nicholas,你是对的,我不知道你为什么被否决。我还试着根据我对OP的评论添加一个答案,并立即获得了两张反对票,一位主持人/评论员批评我提供了一个链接到另一个答案——在这里如此——来满足这个问题。显然,我要在这里抄袭别人的答案,或者自己实施解决方案?…这样的废话会让我走下坡路。编辑:我不认为是OP做了向下投票,因为他在回复之间需要一些时间。@easuter疯狂,不是吗。我认为这其中的寓意是不要靠近或张贴带有c标签的问题。。。如果这是一个重复的问题,那么imo链接到另一个问题是完全合适的,特别是如果您没有标记特权。我不再在这里帮助别人了。有趣的观察-链接的问题是我问的。@JohnNicholas我想接受你编辑的版本作为答案,但你有不必要的演讲,与stackoverflow的FAQ/how to页面上的问题无关,你在那里听起来很痛苦,我不知道我做错了什么。每当我试图回答这里的问题时,我都很痛苦。不是你,而是社区。我花了大部分时间在这里,试图重新打开和编辑问题,这样他们就可以得到有用的答案。当你回答时,你会被否决,没有任何解释。如果我帮了你,我很高兴,这就是最重要的。如果你在上面看到我的评论,仅仅向家长发送消息并不能解决我的问题,我最关心的是如何更好地汇总儿童演员的结果,以确定整个任务是否完成。@John Nicholas,你是对的,我不知道你为什么被否决。我还试着根据我对OP的评论添加一个答案,并立即获得了两张反对票,一位主持人/评论员批评我提供了一个链接到另一个答案——在这里如此——来满足这个问题。显然,我要在这里抄袭别人的答案,或者自己实施解决方案?…这样的废话会让我走下坡路。编辑:我不认为是OP做了向下投票,因为他在回复之间需要一些时间。@easuter疯狂,不是吗。我认为这其中的寓意是不要靠近或张贴带有c标签的问题。。。如果这是一个重复的问题,那么imo链接到另一个问题是完全合适的,特别是如果您没有标记特权。我不再在这里帮助别人了。有趣的观察-链接的问题是我问的。@JohnNicholas我想接受你编辑的版本作为答案,但你有不必要的演讲,与stackoverflow的FAQ/how to页面上的问题无关,你在那里听起来很痛苦,我不知道我做错了什么。每当我试图回答这里的问题时,我都很痛苦。不是你,而是社区。我花了大部分时间在这里,试图重新打开和编辑问题,这样他们就可以得到有用的答案。当你回答时,你会被否决,没有任何解释。如果我帮了你,我会很高兴,这才是最重要的。