在Play 1.0中,我们可以定义一些将在后台执行的作业:
@OnApplicatonStart
@Every("1h")
public class DataJob extends Job {
public void doJob() {
// ...
}
}
但我在Play 2.0中找不到它。我想念一下吗?
答案 0 :(得分:6)
您可以在akka中使用调度程序服务。
http://doc.akka.io/docs/akka/2.0/java/scheduler.html
http://doc.akka.io/docs/akka/2.0/scala/scheduler.html
基本上,如果收到某条消息,您就会创建一个执行逻辑的actor。
答案 1 :(得分:6)
对于实际的工作部分,这似乎是Java中的方式,
Akka.system().scheduler().schedule(
Duration.create(0, MILLISECONDS), // initial delay
Duration.create(5, MINUTES), // run job every 5 minutes
new Runnable()
{
public void run()
{
....
}
}
);
答案 2 :(得分:1)
修正了JonasAnso
发布的原始接受答案中的链接要获取OnApplicationStart的功能,您可以使用Global onStart
在这里,您可以使用Akka安排演员。
希望它有所帮助。