我们正在akka.net上处理json文件的POC。我正在努力处理批量处理JArray的最佳方法。我在执行阿卡协调演员收到以下消息:akka.net演员并行执行
//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);
});