·
通常定时任务以当前部署时间为基础触发时间。
如果需要每次在特定时间(如半夜),可以使用方便限定。
def delayToMiddleNight(plusMinutes: Int = 0) = { val nw = OffsetDateTime.now(SvrZoneId) val nd = nw.plusDays(1) val mn = OffsetDateTime.of(nd.getYear, nd.getMonthValue, nd.getDayOfMonth, 0, 0, 0, 0, SvrZoneOffset) plusMinutes * 60 + mn.toEpochSecond - nw.toEpochSecond } 具体使用的案例如下:注意点:
必须先module中启动定时服务。
bind(classOf[HeartBeatService]).asEagerSingleton() 具体完整代码如下: