【发布时间】:2016-05-27 11:45:28
【问题描述】:
我有一个 Actor 收到一条名为 Init 的消息,并在收到此消息后尝试创建与外部服务的连接。现在这个连接可能成功或失败,我知道我的 Actor 中的这些信息:
def receive = {
case Init => {
val someConn: Option[Connection] = createConnection(...)
someConn match {
case Some(conn) => {
// do something
}
case None => // I want to re-try Init, but after a few seconds delay!
}
}
在 None 时,我想再次向这个 actor 发送一条带有 Init 消息的 self 消息,但我不想立即这样做。我想延迟几秒钟,比如 10 秒。有什么建议吗?
【问题讨论】: