Play for Scala 中未触发 Akka-Quartz-Scheduler

Akka-Quartz-Scheduler not triggered in Play for Scala

我正在尝试在 Play for Scala 中实现 Akka-Quartz-Scheduler。问题是永远不会触发调度程序。

这是我的 quartz.conf,我试图每分钟触发一个事件:

akka {
  quartz {
    defaultTimezone = "UTC"
    schedules {
      cronFirst {
        description = "job that fires off every minute"
        expression = "0 0/1 * * * ?"
      }
    }
  }
}

我通过调用调用 test 方法的页面来启动调度程序 - 这似乎工作正常:

class Test @Inject() (system: ActorSystem) extends Controller {

    def test = Action { request =>

         val scheduler = QuartzSchedulerExtension(system)
         val receiver = system.actorOf(Props(new HelloActor))
         val d = scheduler.schedule("cronFirst", receiver, "Peter", None )

         Ok(d+"")
    }
}

这是从未被调用的 actor(println 从未被执行):

object HelloActor {
  def props = Props[HelloActor]

  case class SayHello(name: String)
}

class HelloActor extends Actor {
  import HelloActor._

  def receive = {
    case SayHello(name: String) =>
      println( "Hello, " + name)
  }
}

问题是消息不正确。这解决了问题:

val d = scheduler.schedule("cronFirst", receiver, HelloActor.SayHello("Peter"), None )