我有戏!具有一些我需要定期运行的任务的应用程序。我可以使用 Akka 安排任务,但我不确定如何启动调度程序本身。我现在正在做的是拥有一个 Scheduler 对象并从它开始Global.scala
,就像这样
// app/jobs/Scheduler.scala
package jobs
import akka.util.duration._
import play.api.libs.concurrent.Akka
import play.api.Play.current
object Scheduler {
def start() {
Akka.system.scheduler.schedule(0 seconds, 1 minutes) {
SomeTask.start()
}
}
}
进而
// app/Global.scala
import play.api._
import jobs.Scheduler
object Global extends GlobalSettings {
override def onStart(app: Application) {
Scheduler.start()
}
}
问题在于,即使在开发模式和测试期间,任务也会运行,这很快就会变得非常烦人。
有没有办法仅在生产模式下使用 Akka 安排作业?