سؤال

In Play 1.0, we can define some jobs which will be executed in the background:

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

But I can't find it in Play 2.0. Do I miss something?

هل كانت مفيدة؟

المحلول 3

Fixed the links in original accepted answer which posted by JonasAnso

To obtain the functionality of OnApplicationStart you can use Global onStart

Here you can schedule your actors using Akka.

Hope it helps.

نصائح أخرى

You could use the scheduler service in akka.

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

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

Basically you create an actor that executes your logic if it receives a certain message.

For the acutal job part this seems to be the way in 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() 
            {
                ....
            }
        }
    );
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top