2016-10-24 1 views
1

毎月初めに仕事をスケジュールする必要があります。 毎月初めの仕事をスケジュールする

system.scheduler.schedule(0.microseconds, 30.days, schedulerActor, "update") 

しかし、あなたはそれを推測したかもしれないとして、これは時々、月に二回(月)またはnone月(2月)のタスクを実行して終了:これまで、私はこれを使用しています。 Akka Schedulerを使用して毎月最初の日にタスクをスケジュールするより良い方法はありますか?

答えて

2

組み込みのAkkaスケジューラは、スケジューラよりも遅延があります。 akka-quartz-schedulerを使用することをお勧めします。このモジュールを使用すると、必要なときにタスクを実行するように実際にスケジュールすることができます。

使い方は簡単です。いくつかの設定:

akka { 
    quartz { 
    schedules { 
     YourScheduleName { 
     description = "A cron job that fires off every first of the month at 5AM" 
     expression = "0 0 5 1 1/1 ? *" 
     } 
    } 
    } 
} 

そして、コード内:

case object Tick 
val yourActor = system.actorOf(Props[YourActor]) 
QuartzSchedulerExtension(system).schedule("YourScheduleName", yourActor, Tick) 
関連する問題