jsonファイルを処理するためにakka.netでPOCを実行しています。私はバッチプロセスJArrayへの最適なアプローチに苦労しています。私の実装アッカ・コーディネーターの俳優ではメッセージ次受信:単一で完全なJArray処理することができますakka.net actor parallel execution
//coordinator actor receive
public class ValidatedInput
{
public JArray Data { get; set; }
}
マイコーディネーターの俳優は、以下のように行くが、私は、並列役者の数を開始するために苦労していますし、それぞれが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);
});