Scala/Akka:在actor没有收到给定超时的消息后运行代码

Ben*_*lts 0 scala akka

我有一个接收消息的演员 - 也就是说,它通常会快速连续收到几条消息,然后长时间不活动.当actor没有收到250ms的消息时,我想执行代码.

只是为了澄清我的意思,在Javascript中,我可能会写一些像这样的代码:

function gotMessage() {
  if(this.idleTimeout) {
    clearTimeout(this.idleTimeout);
  }

  this.idleTimeout = setTimeout(function() {
    //My code here
  }, 250);
}
Run Code Online (Sandbox Code Playgroud)

我如何在Scala或Akka中实现这种效果,如果它已经存在于该库中的机制?

Dyl*_*lan 5

此功能在此处描述(Akka actors文档页面,"接收超时"部分).

setReceiveTimeout方法的文档在这里