持续调度

时间:2013-05-25 14:00:37

标签: scala playframework playframework-2.0 scheduled-tasks akka

我目前需要基于play-framework和akka的web应用程序的持久调度。我知道akka中有actor调度,但据我所知,它没有提供持久工作的机制。因此,即使几乎所有内容都失败了,也必须在重新启动后加载和执行作业。这些工作通常不会定期。

什么样的系统可以实现这些目标,并且可能很好地集成到现有的基础设施中(play,akka)?

4 个答案:

答案 0 :(得分:2)

似乎有一个项目能够为Akka做基于时间戳的持久性调度":https://github.com/odd/akkax-scheduling

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

答案 3 :(得分:-3)

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

http://doc.akka.io/docs/akka/2.1.4/scala/scheduler.html

例如:

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