Где поддержка работы в Play 2.0? - PullRequest
16 голосов
/ 18 февраля 2012

В Play 1.0 мы можем определить некоторые задания, которые будут выполняться в фоновом режиме:

@OnApplicatonStart
@Every("1h")
public class DataJob extends Job {
    public void doJob() {
       // ...
    }
}

Но я не могу найти его в Play 2.0. Я что-то пропустил?

Ответы [ 3 ]

6 голосов
/ 01 октября 2012

Для острой части работы это похоже на 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() 
            {
                ....
            }
        }
    );
6 голосов
/ 18 февраля 2012

Вы можете использовать службу планировщика в akka.

http://doc.akka.io/docs/akka/2.0/java/scheduler.html

http://doc.akka.io/docs/akka/2.0/scala/scheduler.html

По сути, вы создаете актера, который выполняет вашу логику, если получает определенное сообщение.

1 голос
/ 06 октября 2015

Исправлены ссылки в оригинальном принятом ответе, который выложил JonasAnso

Для получения функциональности OnApplicationStart вы можете использовать Global onStart

Здесь вы можете планировать своих актеров, используя Akka.

Надеюсь, это поможет.

...