代码之家  ›  专栏  ›  技术社区  ›  Mornor

PlayFramework 2.3.X中的作业

  •  1
  • Mornor  · 技术社区  · 9 年前

    我需要在PlayFramework2.3.X服务器上执行后台任务(检查DB状态并根据此状态执行操作)。

    为此,我看到Play过去使用 Jobs (here) 在早期版本中。我也想做同样的事情,但无法弄清楚处理这个问题的新方法是什么。

    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");
                        }
                    }; 
             ); 
    }
    
    1 回复  |  直到 9 年前
        1
  •  2
  •   Mon Calamari    9 年前

    试试看:

    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());