我想在每天的特定时间执行我的Scala函数cleaner.run()
。我正在阅读有关Akka和Play框架的内容。然而,看起来Akka支持间隔,例如“每30分钟执行一次任务”,但它不支持在确切时间执行任务。
如果有人可以帮我把事情整理好(我使用我的特定例子),我将不胜感激,因为我对我阅读的所有信息和论坛帖子都有些遗漏。
所以,这是我的Scala对象,我希望每天23:55安排cleaner.run()
。
object MyTestManager {
def main(args: Array[String]) {
val cleaner = new Cleaner()
cleaner.run()
}
}
我有兴趣做这样的事情,但找不到将它传递给Scala 2.10的方法。
import play.jobs.*;
/** Fire at 12pm (noon) every day **/
@On("0 0 12 * * ?")
public class Bootstrap extends Job {
public void doJob() {
Logger.info("Maintenance job ...");
...
}
}
此外,在打包Scala代码之后,启动应用程序的正确方法是什么,以便它每天23:55继续执行?一个简单的java -jar target/scala-2.10/my-assembly-1.0.jar
会做这个工作,还是只执行一次代码?