在Akka中执行Tell方法时出现异常

时间:2016-04-29 10:41:43

标签: f# agent akka.net

我正在使用Akka.net(版本=" 1.0.8")。我有两个Actors,一个是从数据库读取输入,另一个是接受该输入并包含一些处理逻辑。演员“A”是输入演员,“B”是演员用于处理输入。 当我们向“演员B”发送大约5万条消息(大小约为30kb)时 对于前。

[1..10000000]
|> List.iter(fun msg -> 
actRef.Tell(JsonConvert.SerializeObject(ProcessData (MessageData))))

我收到一些死信的错误:

    “[WARNING][4/29/2016 10:08:18 AM][Thread 0009]
    [[akka://Pankaj/system/endpointManager/reliableEndpointWriterakka.tcp%3a%2f%2fRemoteFSharp%40***.**.**.**%3a8788-1]] 
    Association with remote system akka.tcp://RemoteFSharp@***.**.**.**:8788 has failed; 
    address is now gated for 5000 ms. 
    Reason is: [Akka.Remote.EndpointDisassociatedException: Disassociated …
    [INFO]
    [4/29/2016 10:08:18 AM][Thread 0021][akka://Pankaj/deadLetters] 
    Message String from akka://Pankaj/deadLetters to akka://Pankaj/deadLetters was not delivered. 
    1 dead letters encountered… “”

但是当我使用Ask方法时,它可以正常工作。

[1..1000000]
|> List.iter(fun msg -> 
   actRef.Ask(JsonConvert.SerializeObject(ProcessData (MessageData))).Wait())

如果我在每次Tell调用之前延迟10ms,那么在处理了200000条记录之后我会收到一些错误。

我在这里错过了什么? 什么是死信异常以及如何解决它?

0 个答案:

没有答案