2012-04-20 17 views

回答

6

只需計算現在和接下來的6PM之間的差異,將其作爲初始延遲,然後每24小時重複一次?

+0

不是最優雅的方式,但它應該工作。 – Peanut 2013-03-24 16:32:03

4

如果服務器在時區觀察中工作,那麼在上午6點開始工作並且僅以24小時間隔重複工作將不起作用 - 在上午5點或上午7點,作業將在下半年觸發在最初的預定時間。

的OP似乎生活在印度(因爲它不遵循DST),然而,爲了使該解決方案完全可移植的(既然他提到),使用Quartz和cron觸發似乎更安全:

Trigger trigger = newTrigger() 
    .withIdentity("trigger3", "group1") 
    .startNow() 
    .withSchedule(dailyAtHourAndMinute(6, 0)) 
    .build(); 

而且石英更強大。唯一的問題是獲得目標演員。可能將ActorRef放置在調度程序上下文中並在工作中檢索它是最簡單的方法。

相關問題