问题标签 [akka-supervision]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
376 浏览

scala - 在失败的情况下从主管发送回发件人

我有一个演员,它充当主管,但还需要将数据“返回”给调用者,这是否是演员无关紧要。

我在问我的主管,我们称他为 SV。

SV 处理我发送给他的消息,并返回一个响应。

而 SV 的接收方法是这样的:

这一切都很好。问题是当孩子抛出异常时,这个异常被主管策略捕获。

sender 不再是对首先调用 SV 的人的引用,而且我似乎无法弄清楚如何将消息发送回被询问者,并回到我原来的流程。

0 投票
1 回答
825 浏览

scala - Akka——测试监督策略

我有以下场景:父主管actor使用构造函数中传递的工厂(函数)为每条消息创建一个子节点。

在测试中,我覆盖了子 Receive 以强制异常。我的期望是因为我设定的监督策略,每次都会阻止儿童演员。

我希望由于 supervisorStrategy Stop 而停止子演员。相反,我收到此错误:

知道为什么会这样吗?谢谢

0 投票
1 回答
641 浏览

akka - Akka Actor 自定义主管

Akka 文档说要配置

akka.actor.guardian-supervisor-strategy,它采用完全限定的类名SupervisorStrategyConfigurator

SupervisorStrategyConfigurator 是一个特征。我是否需要使用我的子类特征扩展任何类?还是我只是定义特征并在配置中指定它,导致 Akka 生成具有该特征的监护人角色?

0 投票
1 回答
1757 浏览

scala - 当主管重新启动关联的 Actor 时,ActorRef 是否更新?

如果我像这样创建一个日志演员

并且记录器由于异常重新启动,我的记录器停止写入磁盘。

我一直在发消息logger ! msg

我是否正确假设当主管重新启动我的日志演员时 ActorRef 没有更新?

0 投票
1 回答
585 浏览

scala - Akka 自定义主管未生效

在 src/main/resources/application.conf

这是指以下内容:

我的演员是这样实例化的

但是,当miner遇到异常时,它仍然会重新启动(它仍然使用默认的主管策略)


作为旁注,我的演员有非常简单的内部状态。所有失败都是由于外部资源造成的(即,由于服务器发送了错误的响应,Futures 未返回),因此不需要重启 actor 的默认策略。

0 投票
1 回答
487 浏览

akka.net - 无法让主管策略在 Akka.NET 中工作

我正在尝试监督策略工作。这是该场景的说明。

实现 SupversiorStrategy 的演示应用程序图

我有一个演员 FloorTrader,它在 OnReceive(object message) 时创建一个 FederalRegulator Actor:

然后,在构建时,FederalRegulator 创建 StateRegulators

所有 Regulators 在构造时都会发出 Console.Write() 行为,如下所示:

FloorTrader 角色中 SupervisionStrategy() 的实现是:

当 FederalRegulator 收到 STOP 消息时,它会触发自定义异常 TradeException,如上面 FederalRegulator 代码中所示。

触发 STOP 消息之前的输出是预期的:

我的想法是,因为我使用的是 OneForOneStrategy,所以一旦我触发了 STOP 消息,FederalRegulator 演员,即发射者,EAST_USA is regulating the trade for, HP应该停止,但它的孩子,StateRegulators 应该继续前进。

但是,当我使用以下命令触发 STOP 消息时:regulator.Tell("STOP"); TradeException 被抛出,但 FederalRegulator 不断发出。此外,我收到了死信消息:

任何人都可以帮助我找出我的方式的错误。根据我一直在阅读的内容,当一个人使用 a 时OneForOneStrategy(),父母应该停止,孩子们会继续。

0 投票
1 回答
701 浏览

scala - 出现异常后重新启动 Actor 并保持之前的状态。

希望通过主管策略在出现先前状态的异常后重新启动actor。

例如

演员主管从他的孩子那里保存了一些参数。主管也有下一个策略:

如何通过supervisorStrategy设置“崩溃前”演员的先前参数。?

我无法通过http://doc.akka.io/docs/akka/2.4.2/general/supervision.html找到它

任何链接,示例?

谢谢!

0 投票
2 回答
2474 浏览

scala - 如何重试失败的akka​​-http请求流解组?

我知道使用 ActorMaterialzer 上的监督策略可以重新启动 akka-stream

来源:http ://doc.akka.io/docs/akka/2.4.2/scala/stream/stream-error.html

我有以下用例。

有时查询将无法解组。我想在 https://example.org/?q=v不重新启动整个字母表的情况下对该单个查询使用重试策略。

0 投票
1 回答
816 浏览

akka - 如何在 Akka 中监督集群单例?

我正在尝试监督 Akka Actor,更具体地说使用ClusterSingletonManager. 我正在尝试对异常、日志和 Actor 的生命周期进行更多控制。

不幸的是,在实施解决方案后,我让 Singleton Actor 抛出异常,但日志中没有显示任何内容,Actor 或 Cluster 也没有关闭。

我的实现如下:

那么,是否有可能监督 Cluster Singlegon?如果可能的话,我应该如何解决这个问题?

0 投票
2 回答
782 浏览

scala - Akka Actor 延时后重启

我有一个主管演员,可以创建几个儿童演员。我还定义了一个进行 OneToOne 处理的监督策略:

我想知道如何在此重新启动中引入超时,以便在重新启动孩子之前说 5 秒?我没有看到任何 Akka 文档指向我任何可配置的超时。有什么线索吗?我不想拥有 Thread.sleep(...)。这绝对是不合情理的。还有其他建议吗?