我需要在PlayFramework 2.3.X服务器上执行后台任务(检查数据库状态并根据此状态执行操作)。
为此,我看到Play曾在其早期版本中使用Jobs
(here)。我想做同样的事情,但无法弄清楚处理这个问题的新方法是什么。
Ps:我知道这不是一件好事,但我必须执行这个后台任务。如果您找到更好的方法,请随时告诉我。
谢谢!
编辑
我尝试使用Java Akka这样的东西,但我错过了一个参数。有什么建议吗?
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");
}
};
);
}
答案 0 :(得分:2)
试试这个:
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());