2012-05-02 28 views
1

我正在尋找簡單的Job Scheduler在Scala中使用,可以在Mongo中存儲作業,或者至少可以簡單地擴展爲使用Mongo作爲存儲。Scala作業調度器與MongoDB作業存儲

任何人都可以提出最佳解決方案嗎?

回答

1

一個非常簡單的,但可擴展調度系統可與阿卡建:

 
import akka.actor._ 
import akka.util.duration._ 

val system = ActorSystem("SchedulerTest") 
case object Job 

val runnerActor = system.actorOf(Props(
    new Actor{ 
     def receive = { case Job => println("run " + self.path.name)} 
    } 
)) 

//schedule a Job message to the actor in 500 ms 
system.scheduler.scheduleOnce(500 milliseconds, runnerActor, Job) 

//system.scheduler.schedule(0 milliseconds, 50 milliseconds, runnerActor, Job) //this repeats a message every 50 ms 

工人的演員可以有選擇地安排進一步的事件。將配置序列化到db可以通過許多不同的方式完成。

Akka 2.0 Doc on Scheduler