【发布时间】:2016-12-15 10:24:26
【问题描述】:
我们在 akka.net 上做 POC 来处理 json 文件。我正在努力寻找批处理 JArray 的最佳方法。在我的实现中,akka coordinator actor 收到以下消息:
//coordinator actor receive
public class ValidatedInput
{
public JArray Data { get; set; }
}
我的协调演员可以像下面这样一次处理完整的 JArray,但我正在努力启动并行演员的数量,每个演员将处理来自 JArray 的 50 条记录。
//coordinator actor receives messages and calls transform actor to process
public void Receiving()
{
Receive<ValidatedInput>(x =>
{
TransformerRouter.Tell(x);
});
}
//transform actor receives message and process, sample code
Receive<ValidatedInput>(x =>
{
PipeToSupport.PipeTo<TransformResult>(MapDataAsync(x).ContinueWith(data =>
{
return new TransformResult();}), Self);
});
有没有像下面这样的方法,我可以传递 50 个 JArray 记录以供每个参与者处理并收集结果,例如:
Receive<ValidatedInputDataResult>(
{
TransformerRouter.Tell(x.Data.Take(50);
});
【问题讨论】:
标签: akka.net