使用Akka的Scheduler安排每秒运行的功能

Bla*_*ird 7 scala akka

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

object AuthTasker {
  def cleanTokens() {
    [...]
  }
}
Run Code Online (Sandbox Code Playgroud)

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

我可以使用该功能AuthTasker.cleanToken()每秒拨打电话吗?

And*_*nes 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)
Run Code Online (Sandbox Code Playgroud)

注意:此更新的代码每隔一秒而不是每0秒调用一次调度方法.回头看代码时,我抓住了这个错误.