定期実行処理を書く
一番手っ取り早いのは Global の onStart に仕掛ける方法
import play.api.libs.concurrent.Akka import play.api.{Application, GlobalSettings} import scala.concurrent.duration.DurationLong object Global extends GlobalSettings { override def onStart(application:Application) { import play.api.libs.concurrent.Execution.Implicits._ Akka.system(application).scheduler.schedule(30.seconds, 30.minute) { /* ここに 30 分置きに実行される処理を書く */ } } }
使ってるのはAkkaで、その設定は application.conf に書ける。 ご存知のように Akka が使えるという事は、Actor も書ける。
class RssLoadActor extends Actor { def receive = { case url:String => // 何かの処理 } } val rssLoadActor = Akka.system(application).actorOf(Props(new RssLoadActor))
我が世の春がきたぁああああ