1

Job の代わりに Play Framework で Akka を使用して、X 秒ごとにコードを実行するようにスケジュールします。私のコードは、Heroku の無料利用枠で実行されています。これは、Heroku システムによって一時的に中断され、その後再開されることがあると思います。

Heroku dyno が起動したときに、「負っている」いくつかのイベントがあることに気づき、それらを同時に実行することは可能ですか? 私のコードはスレッド セーフではなく、常に 1 つのイベントのみが実行されることを前提としています。

これは、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)
  }
}
4

1 に答える 1

1

アクターは一度に 1 つのメッセージを処理するため、スケジューラを使用して 10 秒ごとに Tick メッセージを送信して monitorActor に送信する場合、monitorActor でのその Tick メッセージの処理はシーケンシャルにする必要があります。 、 か否か。

並行動作を観察する場合は、何か他の問題が発生しています。

于 2013-03-28T15:57:11.547 に答える