PlayFramework 2.3.X中的作业

PlayFramework 2.3.X中的作业,playframework,playframework-2.3,Playframework,Playframework 2.3,我需要在PlayFramework 2.3.X服务器上执行后台任务(检查数据库状态并根据此状态执行操作) 为此,我看到Play在早期版本中使用了Jobs。我也想做同样的事情,但无法找出处理这个问题的新方法 Ps:我知道这样做不是件好事,但我必须执行这个后台任务。如果你找到更好的方法,请随时告诉我 谢谢 编辑 我使用javaakka尝试了类似的方法,但是我错过了一个参数。有什么建议吗 public static void test(){ Akka.system().schedule

我需要在PlayFramework 2.3.X服务器上执行后台任务(检查数据库状态并根据此状态执行操作)

为此,我看到Play在早期版本中使用了
Jobs
。我也想做同样的事情,但无法找出处理这个问题的新方法

Ps:我知道这样做不是件好事,但我必须执行这个后台任务。如果你找到更好的方法,请随时告诉我

谢谢

编辑
我使用javaakka尝试了类似的方法,但是我错过了一个参数。有什么建议吗

public static void test(){
        Akka.system().scheduler().schedule (
                Duration.create(0, TimeUnit.MILLISECONDS),   // initial delay 
                Duration.create(5, TimeUnit.MINUTES),        // run job every 5 minutes
                new Runnable() {
                    public void run() {
                        Logger.info("job is done");
                    }
                }; 
         ); 
}
试试这个:

Runnable task = new Runnable() {

    @Override
    public void run() {
        //your jobs
    }
};


Akka.system().scheduler().schedule(FiniteDuration.create(0, TimeUnit.SECONDS), FiniteDuration.create(1, TimeUnit.SECONDS), task, Akka.system().dispatcher());

我认为Akka和它的调度程序将适合你。是的,我现在尝试使用它,但我面临一些问题。。。我编辑了我的问题!谢谢你能解释一下什么是
Akka.system().dispatcher()
?另外,我是否有一些特定的方法要执行?Dispatcher类似于给定Actor系统的conigutation…更多信息请阅读:如果您的任务不是任何高级任务,您可以使用默认Dispatcher。他们在文档中写道,如果你有更多的高级参与者,它可能会加快他们的工作速度。我按照你告诉我的做了,而且这个方法似乎工作正常(没有编译错误)。但是,我没有找到一种方法在启动时“启动”该方法,然后每x分钟执行一次操作。你知道我还需要做什么吗?在游戏中,你有一个名为GlobalSettings的特定类。你可以创建自己的类并重写每次启动应用程序时运行的onStart方法…只需将执行Akka.scheduler的方法放在onStart metchod旁边…这应该可以解决问题:)工作起来很有魅力!非常感谢:)