7

我想每秒运行一次这个 Scala 函数:

object AuthTasker {
  def cleanTokens() {
    [...]
  }
}

Akka 的 Scheduler 有以下功能:schedule(initialDelay: FiniteDuration, interval: FiniteDuration)(f: ⇒ Unit)

我可以使用该功能来每秒调用AuthTasker.cleanToken()一次吗?

4

1 回答 1

13

回答您的问题:是的,您可以使用 schedule 方法每秒调用一次 AuthTasker.cleanToken() 。我推荐以下内容(包括为您导入的内容):

import scala.concurrent.duration._
import scala.concurrent.ExecutionContext
import ExecutionContext.Implicits.global

val system = akka.actor.ActorSystem("system")
system.scheduler.schedule(0 seconds, 1 seconds)(AuthTasker.cleanTokens)

注意:此更新后的代码每隔一秒而不是每 0 秒调用一次调度方法。回顾代码时,我发现了错误。

于 2013-11-11T01:01:56.710 回答