繁体   English   中英

Akka Scheduler找不到我的演员?

[英]Akka scheduler can't find my actor?

看来我没有正确设置演员,但不确定我还能怎么做。 我建立了一个由Akka安排的演员。 但是我得到的编译器错误是: not found: value MaidActor

码:

/**
 * the engine maid
 */
class MaidActor extends Actor {
  def receive = {
    case "ChatMaid" => {
      println("A hot french maid will now clean up the chat database")
    }
  }
}

/**
 * scheduled jobs to run in the background
 */
object EngineJobs {

  /**
   * clean old chats to save database space
   */
  def setupJobs = {
      Akka.system.scheduler.schedule(0 seconds, 120 minutes, MaidActor, "ChatMaid")
  }

}

谢谢你的帮助!

我解决了:)

能够通过正确设置我的EngineJobs对象来修复它。 这是通过创建一个新的ActorSystem来完成的, ActorSystem所示:

/**
 * the engine maid
 */
class MaidActor extends Actor {
  def receive = {
    case "tick" => {
      Logger.info("A hot french maid will now clean up the chat database")
      models.Chat.cleanOldChats
    }
  }
}

/**
 * scheduled jobs to run in the background
 */
object EngineJobs {

  val system = ActorSystem("jobs")
  val Tick = "tick"
  val ChatMaid = system.actorOf(Props(new MaidActor))

  /**
   * set up jobs to be run in engine
   */
  def setupJobs = {
      Akka.system.scheduler.schedule(0 seconds, 10 seconds, ChatMaid, Tick)
  }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM