2016-11-13 100 views
1

我想在每天的特定時間執行我的Scala函數cleaner.run()。我正在閱讀有關Akka和Play框架。然而,看起來Akka支持間隔,例如「每30分鐘執行一次任務」,但它不支持在確切的時間執行任務。 如果有人能幫助我整理好東西(使用我的特定示例),我將不勝感激,因爲我有點遺漏了我閱讀的所有信息和論壇主題。如何在Scala中的特定時間安排任務?

所以,這是我的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會完成這項工作,還是隻執行一次代碼?

回答