Где поддержка работы в Play 2.0?
-
27-10-2019 - |
Вопрос
В Играть в 1.0, мы можем определить некоторые задания, которые будут выполнены на заднем плане:
@OnApplicatonStart
@Every("1h")
public class DataJob extends Job {
public void doJob() {
// ...
}
}
Но я не могу найти это в игре 2.0. Я что -то пропустил?
Решение 3
Исправлены ссылки в оригинальном принятом ответе, который опубликовал Джонасансо
Чтобы получить функциональность OnPplicationStart, вы можете использовать Global OnStart
- https://www.playframework.com/documentation/2.4.x/api/scala/index.html#play.api.globalsettings
- https://www.playframework.com/documentation/2.4.x/api/java/play/globalsettings.html
Здесь вы можете запланировать своих актеров, используя Akka.
- https://www.playframework.com/documentation/2.4.x/scalaakka
- https://www.playframework.com/documentation/2.4.x/javaakka
Надеюсь, поможет.
Другие советы
Вы можете использовать службу планировщика в 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()
{
....
}
}
);