如何检查我通过actorFor获得actorRef的远程actor是否还活着?任何对文档的引用都将不胜感激.我正在使用Scala的Akka.
我已经看到了对主管和死亡计时器的参考,但我并不觉得我的用例需要这么重的机器.我只想让我的客户端检查主服务器是否使用已知路径,以及是否发送消息介绍自己.如果主机未启动,则应等待一段时间再重试.
更新2: 建议我只是使用乒乓询问测试来查看它是否还活着.我明白这就像是
implicit val timeout = Timeout(5 seconds)
val future = actor ? AreYouAlive
try{
Await.result(future, timeout.duration)
}catch{
case e:AskTimeoutException => println("It's not there: "+e)
}
Run Code Online (Sandbox Code Playgroud)
我想我已经对日志中存在例外情况感到困惑,现在它们仍然存在.例如
也许这就是它的工作方式,我必须接受日志中的错误/警告,而不是试图防止它们?
只需发送消息即可.无论如何,在您发送消息后,它的机器可能会在纳秒内无法访问.如果你没有得到任何答复,很可能已经死了.在文档中有一个很大的章节:http://doc.akka.io/docs/akka/2.0.1/general/message-send-semantics.html
| 归档时间: |
|
| 查看次数: |
3909 次 |
| 最近记录: |