何时应使用Akka BackoffSupervisor OnStop而不是OnFailure?

8dtrkrch  于 2022-11-05  发布在  其他
关注(0)|答案(1)|浏览(102)

我们一直在使用Akka BackoffSupervisor作为一些集群单例参与者,这些参与者对系统至关重要,应该始终存在。这些参与者是持久性的,因此在数据库出现故障时,需要重新启动它们。我们的代码使用OnFailure条件。但是,当子级持久性由于数据库错误而失败时,子级和回退管理程序都被停止,并且没有重新启动。
我们应该使用OnStop而不是OnFailure吗?它没有解释何时应该使用每个,并且由于子角色在数据库错误的情况下失败,我们假设我们可以使用OnFailure。但也许由于角色在持久性错误时无条件终止,OnFailure从未被调用,而应该使用OnStopp

zyfwsgd6

zyfwsgd61#

答案是肯定的:在被监督的行动者被无条件地停止的情况下,它触发事件OnStop,该事件可以被监视以开始它的新的化身。

相关问题