【发布时间】:2021-11-24 19:46:18
【问题描述】:
我正在尝试改进系统中参与者的错误处理。有时,在处理数据时出现问题,我需要停止并重新启动actor,并记录有关此故障的一些信息。
我有一个主管,有 5 个演员为它工作。所以我需要能够监督他们所有人。我找到了这个链接:
https://doc.akka.io/docs/akka/current/typed/fault-tolerance.html
关于这个,但我认为在哪里实现代码并不是很清楚:
Behaviors.supervise(behavior).onFailure[IllegalStateException](SupervisorStrategy.restart)
这段代码到底应该去哪里?
谢谢
【问题讨论】:
-
目前还不清楚您是在询问经典 API 还是类型化 API(如果是类型化 API,我建议添加
akka-typed标签(可能替换actor标签)。经典 API 中的监督(例如,您有extends Actor的代码)非常不同,并记录在 doc.akka.io/docs/akka/current/supervision-classic.html -
嗨,是的,对不起,你是对的。我正在使用经典演员。我试图找到一些似乎适用于我的场景的东西。每个主管有 5 个子角色,如果其中一个角色失败,我需要在错误级别记录它,并检索该角色正在处理的数据。 @LeviRamsey
标签: scala akka actor akka-actor akka-supervision