在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