java – 如何在play framework 2.3中编写cron job
发布时间:2020-12-14 05:54:13 所属栏目:Java 来源:网络整理
导读:我正在使用Play 2.3.8(激活器) Mongodb为db 我在产品系列中有一些产品,每个产品都有有效期,一旦到期 我需要删除产品集合中的文档. 我正在计划编写cron作业来删除产品集合中的文档,这些文档将在特定时间每天运行. 我想我可以在java中使用像@ on,@ Everyvery这
我正在使用Play 2.3.8(激活器)&
Mongodb为db
我在产品系列中有一些产品,每个产品都有有效期,一旦到期 我正在计划编写cron作业来删除产品集合中的文档,这些文档将在特定时间每天运行. 我想我可以在java中使用像@ on,@ Everyvery这样的注释(我在java中编写代码,而不是在scala中编写代码). a)https://github.com/ssachtleben/play-plugins/tree/master/cron b)Quartz Job schedule作为依赖玩2.3(激活器) c)Akka异步工作(我不知道如何使用它,如何使用游戏,甚至我是Akka的新手) 我处于困惑状态,你能不能在下面给我建议 >我可以根据我的要求使用哪一个? 解决方法
这可以使用Global Class完成,并且可以使用onstart方法.
https://www.playframework.com/documentation/2.5.x/JavaGlobal
下面给出编码的抽象视图.希望这有帮助 public class Global extends GlobalSettings { private Cancellable scheduler; @Override public void onStart(Application application) { int timeDelayFromAppStartToLogFirstLogInMs = 0; int timeGapBetweenMemoryLogsInMinutes = 10; scheduler = Akka.system().scheduler().schedule(Duration.create(timeDelayFromAppStartToLogFirstLogInMs,TimeUnit.MILLISECONDS),Duration.create(timeGapBetweenMemoryLogsInMinutes,TimeUnit.MINUTES),new Runnable() { @Override public void run() { System.out.println("Cron Job"); // Call a function (to print JVM stats) } },Akka.system().dispatcher()); super.onStart(application); } @Override public void onStop(Application app) { scheduler.cancel(); super.onStop(app); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |