Play 2.0中的工作支持在哪里?

Fre*_*ind 16 jobs playframework-2.0

Play 1.0中,我们可以定义一些将在后台执行的作业:

@OnApplicatonStart
@Every("1h")
public class DataJob extends Job {
    public void doJob() {
       // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

但我在Play 2.0中找不到它.我错过了什么吗?

Dom*_*orn 6

您可以在akka中使用调度程序服务.

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

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

基本上,如果收到某个消息,您将创建一个执行逻辑的actor.

  • 我想这不是我想要的.这些工作不需要由操作触发,它们只是在后台工作. (2认同)

nyl*_*und 6

对于实际工作部分,这似乎是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() 
            {
                ....
            }
        }
    );
Run Code Online (Sandbox Code Playgroud)

  • 有关详细信息,请参阅https://www.playframework.com/documentation/2.3.x/ScalaAkka. (2认同)