問題タブ [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.
scala - 失敗した場合、スーパーバイザーから送信者に返送
スーパーバイザーとして機能するアクターがありますが、これがアクターであるかどうかに関係なく、呼び出し元にデータを「返す」必要もあります。
私はスーパーバイザーに尋ねています。彼を SV と呼びましょう。
SV 私が彼に送ったメッセージを処理し、応答を返します。
そして、SV の受信メソッドは次のようになります。
これはすべてうまくいきます。問題は、子が例外をスローしたときです。この例外はスーパーバイザー戦略によってキャッチされます。
送信者は、そもそも SV を呼び出した人への参照ではなくなりました。メッセージを依頼者に送り返し、元の流れに戻る方法がわかりません。
scala - Akka - テスト監督戦略
次のシナリオがあります。親スーパーバイザー アクターは、コンストラクターで渡されたファクトリ (関数) を使用して、メッセージごとに子を作成します。
テストでは、子の Receive をオーバーライドして例外を強制します。私の期待は、私が設定した監督戦略のために毎回子役が止められることです。
SupervisorStrategy Stop により、子アクターが停止されることを期待します。代わりに、次のエラーが表示されます。
なぜこれが起こっているのですか?ありがとうございました
scala - 関連するアクタがスーパーバイザによって再起動されると、ActorRef は更新されますか?
ロギング アクターをそのように作成すると、
ロガーが例外のために再起動すると、ロガーはディスクへの書き込みを停止します。
メッセージを送っていたlogger ! msg
スーパーバイザーが私のロギング アクターを再起動したときに ActorRef が更新されなかったと仮定するのは正しいですか?
akka.net - Supervisor Strategy を Akka.NET で動作させることができません
スーパーバイザー戦略を機能させようとしています。これがシナリオの図です。
SupversiorStrategy を実装するデモ アプリの図
OnReceive(オブジェクト メッセージ) で FederalRegulator アクターを作成するアクター FloorTrader があります。
次に、構築時に、FederalRegulator は StateRegulator を作成します。
すべてのレギュレーターは、次のように構築時に Console.Write() 動作を発行します。
FloorTrader アクターでの SupervisionStrategy() の実装は次のとおりです。
FederalRegulator が STOP メッセージを受信すると、上記の FederalRegulator コードに示されているように、カスタム例外 TradeException を発生させます。
発火前の STOP メッセージの出力が期待されます。
私の考えでは、OneForOneStrategy を使用しているため、STOP メッセージを発行すると、 を発行する FederalRegulator アクターEAST_USA is regulating the trade for, HP
は停止するはずですが、その子である StateRegulators は続行する必要があります。
ただし、次を使用して STOP メッセージをregulator.Tell("STOP");
発行すると、TradeException がスローされますが、FederalRegulator は発行し続けます。さらに、Dead Letter メッセージが表示されます。
誰かが私のやり方の誤りを理解するのを手伝ってくれませんか? 私が読んでいることから、を使用するOneForOneStrategy()
と、親は停止し、子は続行する必要があります。
scala - 前の状態での例外の後、アクタを再起動します。
スーパーバイザーの戦略により、以前の状態で例外が発生した後にアクターを再起動したい。
例えば
アクター スーパーバイザーは、自分の子供からいくつかのパラメーターを保存します。また、スーパーバイザーには次の戦略があります。
SupervisorStrategy によって「クラッシュ前」にアクターの以前のパラメータを設定するにはどうすればよいですか。?
http://doc.akka.io/docs/akka/2.4.2/general/supervision.htmlで見つけられませんでした
リンク、例はありますか?
ありがとう!
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
アルファベット全体を再起動せずに、その単一のクエリで再試行戦略を使用したいと考えています
。
akka - Akkaでクラスタシングルトンを監視するには?
Akka アクター、より具体的にはを使用して作成されたクラスター シングルトンを監視しようとしてClusterSingletonManager
います。例外、ログ、およびアクタのライフ サイクルをより細かく制御しようとしています。
残念ながら、ソリューションを実装した後、Singleton アクターが例外をスローするようにしましたが、ログには何も表示されず、アクターまたはクラスターもシャットダウンされませんでした。
私の実装は次のとおりです。
では、Cluster Singlegon を監視することさえ可能ですか? 可能であれば、この問題にどのように対処すればよいですか?
scala - Akka Actor の時間経過後の再起動
いくつかの子アクターを作成するスーパーバイザー アクターがあります。また、OneToOne 処理を行う Supervision 戦略も定義しました。
この再起動にタイムアウトを導入する方法を知りたいので、子を再起動する前に 5 秒としましょう。構成可能なタイムアウトについて指摘している Akka のドキュメントはありません。手がかりはありますか?私は Thread.sleep(...) を持ちたくありません。それは間違いなく方程式から外れています。他の提案はありますか?