在Play 1.0 中,我们可以定义一些将在后台执行的作业:
@OnApplicatonStart
@Every("1h")
public class DataJob extends Job {
public void doJob() {
// ...
}
}
但我在 Play 2.0 中找不到它。我错过了什么吗?
在Play 1.0 中,我们可以定义一些将在后台执行的作业:
@OnApplicatonStart
@Every("1h")
public class DataJob extends Job {
public void doJob() {
// ...
}
}
但我在 Play 2.0 中找不到它。我错过了什么吗?
您可以在 akka 中使用调度程序服务。
http://doc.akka.io/docs/akka/2.0/java/scheduler.html
http://doc.akka.io/docs/akka/2.0/scala/scheduler.html
基本上,您创建一个执行您的逻辑的参与者,如果它接收到特定消息。
对于实际工作部分,这似乎是 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()
{
....
}
}
);
修复了JonasAnso发布的原始接受答案中的链接
要获得 OnApplicationStart 的功能,您可以使用 Global onStart
在这里,您可以使用 Akka 安排您的演员。
希望能帮助到你。