如何监控 actor 系统终止
How to monitor actor system termination
我已经创建了根演员:
topicRootActor = actorSystem.ActorOf(actorSystem.DI().Props<RootActor>(), typeof(RootActor).Name + '.' + topic);
topicRootActor.Tell(initMessage);
当它因为永久连接失败或其他原因停止时,我想停止应用程序。
我的想法是停止 root actor,然后在 PostStop 覆盖中调用 Context.System.Terminate。问题是 ActorSystem 的创建者如何知道 actor 系统终止?
我相信你应该可以使用 actorSystem.WhenTerminated
,它是 ActorSystem 上的 属性 而 returns 是 Task
,它在 ActorSystem 关闭时完成.
如果你继续或等待它,你应该能够干净地关闭你的应用程序。
我已经创建了根演员:
topicRootActor = actorSystem.ActorOf(actorSystem.DI().Props<RootActor>(), typeof(RootActor).Name + '.' + topic);
topicRootActor.Tell(initMessage);
当它因为永久连接失败或其他原因停止时,我想停止应用程序。
我的想法是停止 root actor,然后在 PostStop 覆盖中调用 Context.System.Terminate。问题是 ActorSystem 的创建者如何知道 actor 系统终止?
我相信你应该可以使用 actorSystem.WhenTerminated
,它是 ActorSystem 上的 属性 而 returns 是 Task
,它在 ActorSystem 关闭时完成.
如果你继续或等待它,你应该能够干净地关闭你的应用程序。