Where is the job support in Play 2.0?

后端 未结 3 857
春和景丽
春和景丽 2020-12-03 08:06

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

@OnApplicatonStart
@Every(\"1h\")
public class DataJob extends Job {
    publi         


        
相关标签:
3条回答
  • 2020-12-03 08:30

    Fixed the links in original accepted answer which posted by JonasAnso

    To obtain the functionality of OnApplicationStart you can use 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

    Here you can schedule your actors using Akka.

    • https://www.playframework.com/documentation/2.4.x/ScalaAkka
    • https://www.playframework.com/documentation/2.4.x/JavaAkka

    Hope it helps.

    0 讨论(0)
  • 2020-12-03 08:31

    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() 
                {
                    ....
                }
            }
        );
    
    0 讨论(0)
  • 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.

    0 讨论(0)
提交回复
热议问题