Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Heroku Akka是否同时运行同一事件的多个实例?_Heroku_Playframework_Akka_Playframework 2.1 - Fatal编程技术网

Heroku Akka是否同时运行同一事件的多个实例?

Heroku Akka是否同时运行同一事件的多个实例?,heroku,playframework,akka,playframework-2.1,Heroku,Playframework,Akka,Playframework 2.1,我使用Akka-in-Play框架而不是作业来安排代码每X秒运行一次。我的代码运行在Heroku免费层上,我相信它有时会暂停一段时间,然后由Heroku系统恢复 有没有可能当Heroku dyno醒来时,它注意到它有几个“欠”的事件,所以同时运行它们?我的代码不是线程安全的,并且假设在任何给定时间只运行一个事件 这是在播放开始时运行的演员设置: object Global extends GlobalSettings { override def onStart(app: Applicat

我使用Akka-in-Play框架而不是作业来安排代码每X秒运行一次。我的代码运行在Heroku免费层上,我相信它有时会暂停一段时间,然后由Heroku系统恢复

有没有可能当Heroku dyno醒来时,它注意到它有几个“欠”的事件,所以同时运行它们?我的代码不是线程安全的,并且假设在任何给定时间只运行一个事件

这是在播放开始时运行的演员设置:

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)
  }
}

参与者一次处理一条消息,因此,如果您使用调度程序每10秒向monitorActor发送一条勾号消息,那么monitorActor中对该勾号消息的处理必须是连续的,与消息在批处理中是否出现较晚无关


如果您观察到并发行为,则会出现其他问题。

参与者一次处理一条消息,因此,如果您使用调度程序每10秒向monitorActor发送一条勾号消息,则monitorActor中该勾号消息的处理必须是连续的,与消息是否在批处理中出现较晚无关,或者不是

如果你观察到同时发生的行为,那么其他事情就出了问题