我在Scala上使用Akka Stream。我想设置一个每24:00运行的调度程序。我试着去找它。但我找不到我想做的事。你能告诉我怎么写代码吗?
aoyhnmkz1#
这是在评论中提到的,但实际上应该是只使用Akka-Streams的首选解决方案:
Source.tick(0.seconds, 24.hours, Done).runForeach { x => //do something }
vh0rcniy2#
使用Build in Akka调度器,请参阅:http://doc.akka.io/docs/akka/current/scala/scheduler.html您可以使用调度程序,如下所示:
system.scheduler.schedule( initialDelay = FiniteDuration(/*offset to next 24:00*/), interval = FiniteDuration(24, TimeUnit.HOURS), receiver = self, message = ScheduleAkkaStream )
然后在参与者中,当收到ScheduleAkkaStream时,运行作业
6jjcrrmo3#
最常用的是Akka Quartz调度程序:https://github.com/enragedginger/akka-quartz-scheduler这是由我编写的,没有额外的依赖项,比使用带有更少花哨的Quartz要轻一点:https://github.com/johanandren/akron
9o685dep4#
我使用:
system.scheduler.scheduleWithFixedDelay(10.seconds, 30.seconds)( () => { println("Action") } )
4条答案
按热度按时间aoyhnmkz1#
这是在评论中提到的,但实际上应该是只使用Akka-Streams的首选解决方案:
vh0rcniy2#
使用Build in Akka调度器,请参阅:http://doc.akka.io/docs/akka/current/scala/scheduler.html
您可以使用调度程序,如下所示:
然后在参与者中,当收到ScheduleAkkaStream时,运行作业
6jjcrrmo3#
最常用的是Akka Quartz调度程序:https://github.com/enragedginger/akka-quartz-scheduler
这是由我编写的,没有额外的依赖项,比使用带有更少花哨的Quartz要轻一点:https://github.com/johanandren/akron
9o685dep4#
我使用: