在Play 1.0,我们可以定义将在后台执行一些工作:Play 2.0中的工作支持在哪里?
@OnApplicatonStart
@Every("1h")
public class DataJob extends Job {
public void doJob() {
// ...
}
}
但在播放2.0我找不到它。我想念什么?
在Play 1.0,我们可以定义将在后台执行一些工作:Play 2.0中的工作支持在哪里?
@OnApplicatonStart
@Every("1h")
public class DataJob extends Job {
public void doJob() {
// ...
}
}
但在播放2.0我找不到它。我想念什么?
固定在其发布的JonasAnso
为了获得OnApplicationStart的功能,你可以使用全球独创接受的答案的链接在onStart
在这里,您可以使用Akka来安排您的演员。
希望它能帮助。
从Play 2.4看来,GlobalSettings已被弃用?什么是新解决方案? – ttt 2016-01-28 03:23:41
您可以在akka中使用调度程序服务。
http://doc.akka.io/docs/akka/2.0/java/scheduler.html
http://doc.akka.io/docs/akka/2.0/scala/scheduler.html
基本上你创建,如果它接收到某个消息执行你的逻辑演员。
对于acutal工作的一部分,这似乎是在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()
{
....
}
}
);
有关更多详细信息,请参见https://www.playframework.com/documentation/2.3.x/ScalaAkka。 – Josef 2014-10-12 17:46:38
@Peter Mortensen,感谢您修复我的问题。 – Freewind 2012-11-04 01:16:12
Hy @Freewind你有解决方案吗?如果是的话,请告诉我,以及。 – 2015-10-06 07:58:22
@MuneebNasir查看答案http://stackoverflow.com/a/32972812/342235 – Freewind 2015-10-06 14:41:20