【问题标题】:How to fire akka scheduler daily for a particular time?如何在特定时间每天触发 akka 调度程序?
【发布时间】:2012-05-01 17:00:06
【问题描述】:

我创建了一个 Akka 的调度程序,以每天在固定时间发送邮件(例如每天早上 6:00)。 那么如何称呼演员呢?我的意思是我应该使用什么逻辑? 谢谢。

【问题讨论】:

    标签: scheduling quartz-scheduler scheduler akka job-scheduling


    【解决方案1】:

    只计算现在和下一个下午 6 点之间的差异,将其作为初始延迟,然后每 24 小时重复一次?

    【讨论】:

      【解决方案2】:

      如果服务器在观察 的时区工作,则在早上 6 点开始作业并仅以 24 小时间隔重复将不起作用 - 一年中的一半作业将在早上 5 点或早上 7 点触发,取决于最初安排的时间。

      OP 似乎生活在印度(不遵守 DST),但是为了使解决方案完全可移植(因为他提到了),使用 Quartz 和 CRON 触发器似乎更安全:

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

      Quartz 也更强大。唯一的问题是获取目标参与者。可能将ActorRef 放在调度程序上下文中并在作业中检索它是最简单的方法。

      【讨论】:

        猜你喜欢
        • 2011-03-05
        • 1970-01-01
        • 1970-01-01
        • 2020-07-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多