gpt4 book ai didi

scala - Actor 应该如何通知发件人错误?

转载 作者:行者123 更新时间:2023-12-02 02:11:52 25 4
gpt4 key购买 nike

我是 Actor 模型的新手,我想知道应该如何处理运行时错误。

假设 actor 捕捉到了异常,那么它应该做什么呢?

我绝对希望发件人收到任何错误通知,因此,至少发件人可以记录错误。

所有响应消息都应该包含status 字段还是应该为我的应用程序中的每个响应消息都存在XXXErrorMessage 类?

Actor 模型中错误处理的最佳实践是什么?

最佳答案

你应该谷歌“erlang supervisor design”,因为 Actor 模型主要是用 erlang 铺设的。然后,您可以将所描述的知识应用于 Akka actors(它正在成为 Scala 2.10 中的标准 actor 库)。另请阅读上面关于 supervision 的评论 akka 文档和 fault tolerance .

或者,您可以选择不使用 Actors,而是使用 Future相反,它更容易编写。然后您将拥有 Future[Either[E, A]] 类型,您可以使用 scalaz 将其视为组合的 EitherT[Future, E, A] monad 类型+ akkaz并将其用于理解等方面。

如果我预计会有很多失败,需要重新启动并重试,必须封装可变状态等,我会选择 Actors。如果你不需要这些,你可以回退到 Futures 并睡个好觉。

关于scala - Actor 应该如何通知发件人错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12369375/

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