gpt4 book ai didi

scala - 检查远程Akka actor是否可用

转载 作者:行者123 更新时间:2023-12-04 04:06:52 24 4
gpt4 key购买 nike

我如何检查通过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)
}

我认为我对日志中存在的异常感到困惑,这些异常现在仍然存在。例如。
  • 错误:java.net.ConnectException:连接被拒绝
  • 错误:java.nio.channels.ClosedChannelException:空

  • 也许这就是它的工作方式,我必须接受日志中的错误/警告,而不是尝试防止错误/警告?

    最佳答案

    只需发送消息即可。无论如何,在您发送邮件后的一秒钟内,它的机器就无法访问。如果您没有收到任何答复,则很可能已经死了。在文档中有一个很大的章节:http://doc.akka.io/docs/akka/2.0.1/general/message-send-semantics.html

    关于scala - 检查远程Akka actor是否可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10705334/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com