gpt4 book ai didi

akka - 我怎样才能每 5 分钟执行一次 Akka actor?

转载 作者:行者123 更新时间:2023-12-03 07:08:10 24 4
gpt4 key购买 nike

我想知道Akka中是否有任何机制可以让actor定期执行?

最佳答案

在 Akka 1.3.1 中,你并不真的需要一个 actor 来执行此操作,你可以安排一个函数每 5 分钟调用一次,如下所示:

Scheduler.schedule(() => println("Do something"), 0L, 5L, TimeUnit.MINUTES)

但是,如果您出于其他原因确实希望它成为 Actor ,您可以这样调用它

case class Message()

val actor = actorOf(new Actor {
def receive = {
case Message() => println("Do something in actor")
}
}).start()

Scheduler.schedule(actor, Message(), 0L, 5L, TimeUnit.MINUTES)

如果你使用 Akka 2.0 那么它会像这样完成

val system = ActorSystem("MySystem")
system.scheduler.schedule(0 seconds, 5 minutes)(println("do something"))

或者像这样每 5 分钟向 Actor 发送一条消息

case class Message()
class MyActor extends Actor {
def receive = { case Message() => println("Do something in actor") }
}

val system = ActorSystem("MySystem")
val actor = system.actorOf(Props(new MyActor), name = "actor")
system.scheduler.schedule(0 seconds, 5 minutes, actor, Message())

关于akka - 我怎样才能每 5 分钟执行一次 Akka actor?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9714831/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com