Wo ist die Jobunterstützung in Play 2.0?
-
27-10-2019 - |
Frage
Im Spielen 1.0, wir können einige Jobs definieren, die im Hintergrund ausgeführt werden:
@OnApplicatonStart
@Every("1h")
public class DataJob extends Job {
public void doJob() {
// ...
}
}
Aber ich kann es in Play 2.0 nicht finden. Vermisse ich etwas?
Lösung 3
Die Links in der ursprünglichen akzeptierten Antwort behoben, die von veröffentlicht wurde von Jonasanso
Um die Funktionalität von OnapplicationStart zu erhalten, können Sie Global OnStart verwenden
- https://www.playframework.com/documentation/2.2.x/api/scala/index.html#play.api.globalsettings
- https://www.playframework.com/documentation/2.2.x/api/java/play/globalsettings.html
Hier können Sie Ihre Schauspieler mit Akka planen.
- https://www.playframework.com/documentation/2.4.x/scalaakka
- https://www.playframework.com/documentation/2.4.x/javaakka
Ich hoffe es hilft.
Andere Tipps
Sie können den Scheduler -Service in Akka nutzen.
http://doc.akka.io/docs/akka/2.0/java/scheduler.html
http://doc.akka.io/docs/akka/2.0/scala/scheduler.html
Grundsätzlich erstellen Sie einen Schauspieler, der Ihre Logik ausführt, wenn sie eine bestimmte Nachricht empfängt.
Für den akutalen Jobteil scheint dies der Weg in Java zu sein,
Akka.system().scheduler().schedule(
Duration.create(0, MILLISECONDS), // initial delay
Duration.create(5, MINUTES), // run job every 5 minutes
new Runnable()
{
public void run()
{
....
}
}
);