我有一个Play 2.x应用程序在Heroku上运行并使用单个web dyno.
在启动时,触发一个Akka actor,它自己安排未来的工作(例如发送推送通知).
object Global extends GlobalSettings {
override def onStart(app:Application) {
val actor = Akka.system.actorOf(Props[SomeActor])
Akka.system.scheduler.scheduleOnce(0 seconds, actor, None)
}
}
Run Code Online (Sandbox Code Playgroud)
这适用于一个网络dyno,但我很想知道如果我调高网络动态数量会发生什么.onStart会用两个web dynos执行两次吗?
如果Global真正在全球范围内运作并且onStart只执行一次,与web dynos的数量无关,那将会很棒.如果没有,多个dynos必须以某种方式同意一个负责这项工作的dyno.
有没有人遇到过类似的问题?