Scala 持久调度

Scala 持久调度,scala,playframework,playframework-2.0,scheduled-tasks,akka,Scala,Playframework,Playframework 2.0,Scheduled Tasks,Akka,我目前需要一个基于play框架和akka的web应用程序的持久调度。我知道akka中有演员调度,但据我所知,它没有提供持久化作业的机制。因此,即使几乎所有操作都失败了,作业也必须在重新启动后加载并执行。这些工作通常不是周期性的 什么样的系统可以完成这些任务,并可能很好地集成到现有的基础设施(play,akka)?我们使用的是Quartz,它是用Java编写的,但是有一种很好的持久性机制,可以使用RAM存储或一些数据库(我们使用的是Mongo)您可以尝试在Akka中使用调度机制 例如: //Sc

我目前需要一个基于play框架和akka的web应用程序的持久调度。我知道akka中有演员调度,但据我所知,它没有提供持久化作业的机制。因此,即使几乎所有操作都失败了,作业也必须在重新启动后加载并执行。这些工作通常不是周期性的


什么样的系统可以完成这些任务,并可能很好地集成到现有的基础设施(play,akka)?

我们使用的是Quartz,它是用Java编写的,但是有一种很好的持久性机制,可以使用RAM存储或一些数据库(我们使用的是Mongo)

您可以尝试在Akka中使用调度机制

例如:

//Schedules a function to be executed (send the current time) to the testActor after 50ms
system.scheduler.scheduleOnce(50 milliseconds) {
   testActor ! System.currentTimeMillis
}

似乎有一个项目能够为Akka执行“基于时间戳的持久性调度”:

另一个替代方案是,我编写的持久性集群友好型任务调度程序。它很容易嵌入到JVM应用程序中,并且只需要一个数据库表就可以持久化。(注意:它是专为中小型工作负载设计的)

关于如何组合的任何提示?我猜您的调度程序会生成任务。这些任务可以被认为是发送给某个执行参与者的消息,该参与者可以有一个持久的邮箱。我知道这一点。问题是,默认调度程序根本不提供持久性。