問題タブ [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 の受信メソッドは次のようになります。

これはすべてうまくいきます。問題は、子が例外をスローしたときです。この例外はスーパーバイザー戦略によってキャッチされます。

送信者は、そもそも SV を呼び出した人への参照ではなくなりました。メッセージを依頼者に送り返し、元の流れに戻る方法がわかりません。

0 投票する
1 に答える
825 参照

scala - Akka - テスト監督戦略

次のシナリオがあります。親スーパーバイザー アクターは、コンストラクターで渡されたファクトリ (関数) を使用して、メッセージごとに子を作成します。

テストでは、子の Receive をオーバーライドして例外を強制します。私の期待は、私が設定した監督戦略のために毎回子役が止められることです。

SupervisorStrategy Stop により、子アクターが停止されることを期待します。代わりに、次のエラーが表示されます。

なぜこれが起こっているのですか?ありがとうございました

0 投票する
1 に答える
1757 参照

scala - 関連するアクタがスーパーバイザによって再起動されると、ActorRef は更新されますか?

ロギング アクターをそのように作成すると、

ロガーが例外のために再起動すると、ロガーはディスクへの書き込みを停止します。

メッセージを送っていたlogger ! msg

スーパーバイザーが私のロギング アクターを再起動したときに ActorRef が更新されなかったと仮定するのは正しいですか?

0 投票する
1 に答える
487 参照

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()と、親は停止し、子は続行する必要があります。

0 投票する
1 に答える
701 参照

scala - 前の状態での例外の後、アクタを再起動します。

スーパーバイザーの戦略により、以前の状態で例外が発生した後にアクターを再起動したい。

例えば

アクター スーパーバイザーは、自分の子供からいくつかのパラメーターを保存します。また、スーパーバイザーには次の戦略があります。

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 アクター、より具体的にはを使用して作成されたクラスター シングルトンを監視しようとしてClusterSingletonManagerいます。例外、ログ、およびアクタのライフ サイクルをより細かく制御しようとしています。

残念ながら、ソリューションを実装した後、Singleton アクターが例外をスローするようにしましたが、ログには何も表示されず、アクターまたはクラスターもシャットダウンされませんでした。

私の実装は次のとおりです。

では、Cluster Singlegon を監視することさえ可能ですか? 可能であれば、この問題にどのように対処すればよいですか?

0 投票する
2 に答える
782 参照

scala - Akka Actor の時間経過後の再起動

いくつかの子アクターを作成するスーパーバイザー アクターがあります。また、OneToOne 処理を行う Supervision 戦略も定義しました。

この再起動にタイムアウトを導入する方法を知りたいので、子を再起動する前に 5 秒としましょう。構成可能なタイムアウトについて指摘している Akka のドキュメントはありません。手がかりはありますか?私は Thread.sleep(...) を持ちたくありません。それは間違いなく方程式から外れています。他の提案はありますか?