Job の代わりに Play Framework で Akka を使用して、X 秒ごとにコードを実行するようにスケジュールします。私は一種のクラスターを持っています (Heroku で実行されており、現在は 1 つの dyno で実行されていますが、同時インスタンスがいくつか存在する場合があります)。
「ジョブ」をクラスター全体でグローバルに N 秒ごとに実行する簡単な方法はありますか? Quartz が DB などのプロセス外ストレージ/同期メカニズムをサポートしていることは知っています - Scala で同様のものを使用できますか?
これは、Play の開始時に実行されるアクターのセットアップです。
object Global extends GlobalSettings {
override def onStart(app: Application) {
val monitorActor = Akka.system.actorOf(Props[MonitorLoadJob], name = "monitorLoad")
Akka.system.scheduler.schedule(0 seconds, 10 seconds, monitorActor, Tick)
}
}