是akka Scheduler单身人士吗?

时间:2018-02-05 17:59:51

标签: akka akka-cluster lagom

如果我有3个节点的集群,下面的代码会为每个节点创建一个调度程序或3个调度程序吗?我对文档中的上下文感到有点困惑。

  system.scheduler.schedule(50.milliseconds, 5.seconds, wire[SchedulerRunnable])
  

在那里你找到了一个返回实例的调度程序方法   akka.actor.Scheduler,这个实例对于每个ActorSystem都是唯一的   内部用于安排在特定点发生的事情   时间。

https://doc.akka.io/docs/akka/2.5.5/scala/scheduler.html

1 个答案:

答案 0 :(得分:3)

它将创建3个调度程序,每个节点一个。

正如James在评论中指出的那样,只有一个集群调度程序的一种方法是使用cluster singleton并在true中设置调度(所以如果单例崩溃的节点并在另一个上重新创建,您的计划也会重新启动。)

如果查看AuctionScheduler in the Lagom online auction example,您还会看到一种略微不同的可靠调度方法,也使用Akka的调度程序来触发自身,然后获取需要的信息从阅读方面完成。