2

現在のメッセージが処理されるのを必ずしも待たずにアクターを停止できるかどうか、または単にキャンセルできるかどうか疑問に思っていました。

ここでそれを行う方法を説明します

https://petabridge.com/blog/how-to-stop-an-actor-akkadotnet/

しかし、それらはすべて現在のメッセージが処理されるのを待ちます。

アクターを停止します。

現在のメッセージの処理が終了した直後にアクターを停止します。

アクターを殺す:

これにより、ログに記録されて処理される ActorKilledException がスローされます。アクターは、現在のメッセージの処理が完了するとすぐに停止します。

アクターに PoisonPill を送信します。

アクターは現在メールボックスにあるメッセージの処理を終了し、停止します。

4

1 に答える 1

4

アクターのメッセージ受信内で長時間実行されているプロセスがあるのはなぜですか。時間がかかる可能性があり、メッセージの受信内でキャンセルできるようにするコードを配置することをお勧めします。

その後、アクターは解放され、上記の停止メソッドのいずれかからのメッセージを受け入れ、それに応じてタスクを終了できます。

さらに、次のページのポイント 4 は、いくつかのサンプル コードを示していますhttps://petabridge.com/blog/top-7-akkadotnet-stumbling-blocks/

于 2016-10-27T11:14:05.000 に答える