問題タブ [polly]
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.
c# - SQL フェイルオーバー例外のトラップ
NuGet パッケージのPollyを利用して、フェールオーバー SQL 例外をトラップする再試行ロジックを実装しています。Azure で SQL Server Always On High Availability をセットアップしています。
すべての SQL 例外 (正しくない) をトラップするのではなく、フェイルオーバーが発生したときに発生する特定の SQL 例外をトラップしたいと考えています。
SSMS からダッシュボードを表示すると、人為的にフェイルオーバーをトリガーしてコードをテストできます。最初は、すべての例外をバブル オーバーさせていました (つまり、トラッピングはありません)。次に、フェイルオーバーをキューに入れ、ログを見て、発生した SQL 例外を確認します。その後、フェイルオーバーによって発生していたすべての SQL 例外をトラップできるようになりました。
私の質問は、それは包括的なリストですか? SQL Server フェールオーバーで再試行ロジックを実装した他の人は、他の SQL 例外をトラップしますか?
ロジックを使用して 100 回近くのフェイルオーバーを試みましたが、何も発生しませんでした。これは、Failover SQL Exceptions のすべてをキャプチャしたという意味ではありません。
再試行ロジックには Policy.Handle(se => IsFailoverSqlException(se)) があります。フェイルオーバーがキューに入れられたときのコード内の場所に応じて、以下にトラップする 3 つの SQL 例外が表示されます。
c# - polly を使用してタスクを並列化する
タイプ myObjs のオブジェクトのリストがあるとしますList<Foo>
。
私はポリーポリシーを持っています:
メソッドを並行して実行したいのですが、失敗してもそれぞれを再試行し続けます。
これは並行して呼び出され、各オブジェクトを再試行しますか? myObjs[5].do() が失敗した場合、他のオブジェクトは 1 回だけ実行され、それだけが再試行されるのでしょうか?
また、例に示すように、Execute(Action) メソッドの代わりに Func を受け入れる ExecuteAsync() メソッドを使用することになっていますか? Do() は単なる同期メソッドであり、別のスレッドで起動されます。each() が単なる foreach ラッパー() である場合、実際のコードは次のようになります。
編集:
私はコードを試しました:
しかし、結果を得ています:
0 1 エラー 2 3 4 5
あと数回 2 を再試行すると思っていましたが、そうではありません。理由はありますか?
c# - Flurl.Http で Polly を使用するには?
現在、私はこの要求を持っています:
Polly ( https://github.com/App-vNext/Polly ) の使用を開始して、再試行を処理し、より優れたユーザー エクスペリエンスを提供したいと考えています。たとえば、ネットワーク接続が悪いために最初の試行でユーザーに「電話を切る」ことはありません。これは私が使用しようとしていた例です:
HttpResponse
ただし、戻り型である必要があります。私の Flurl の例からわかるように、 .T
であるにもかかわらず を返していHttpResponse
ます。はT
、 を逆シリアル化するために使用される型StringContent
です。
この最初の例は、PCL 内で使用していて、そこへの参照を取得できないため、まったく機能しませんSystem.Web
。だから私はこれを試しました:
HttpStatusCode
ただし、Polly は戻り値の型を想定しているため、これも機能しません。だから私の質問は次のとおりです: polly にこれらHttpStatusCode
の s を処理し、 type の戻りを許可するように指示するにはどうすればよいT
ですか?
polly - ポリー - System.InvalidperationException
Sql Azure に polly を使用しています。プロセスのメモリ ダンプを取得し、SOS.dll と !dumpheap -stat -type Exception を使用すると、「この例外は決してスローされるべきではありません」というメッセージが表示される System.InvalidOperationException が大量に表示され、polly 内から発生しました。polly 4.1.1 を使用しています。続行する方法についての指針はありますか?
.net - 複数のポリシーを実行する
複数のポリシーを実行する (またはそれらを 1 つのポリシーに結合する) 方法は?
たとえば、私は持っています:
それらを 1 つのメソッドに同時に適用する方法は?