問題タブ [retrypolicy]
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.
asp.net-mvc-5 - Azure BLOB ストレージの廃止された RetryPolicy コード
私は MVC5 アプリケーションをコーディングしており、にアップロードBlockBlobs
していAzure
ます。
廃止された Microsoft コードがいくつかあります。この廃止されたコードをアプリケーションで動作するコードに変換したいと考えています。
古いコードは次のとおりです。
動作するコードがありますが、このコードではRetryPolicy
.
なしのコードは次のRetryPolicy
とおりです。
BlobRequestOptions
を使用するオブジェクトを正しく構築するための助けをお願いできますRetryPolicy
か?
これが私がこれまでに持っているものです:
次の点がよくわかりません。
- 使用するステータス コード。
- LastException に使用するもの。
- タイムスパンの出力値。
- OperationContext に使用するもの。
前もって感謝します。
azure - Azure Service Bus: 組み込みの再試行ポリシーを使用してメッセージ ポンプを介して受信した一時的なエラー (例外)。なんで?
2013 年 4 月に導入されたイベント ドリブン メッセージ プログラミング モデル、 OnMessageOptions.ExceptionReceived Event、組み込みのRetryPolicy (2013 年 5 月、RetryPolicy.Default)、時代遅れの一時的なエラー処理アプリケーション ブロック(2011) について読んできました。 、その他 (下を参照)。
メッセージ ポンプを介して受信した例外を監視して、一時的なエラーを検出しましたが、毎日MessagingCommunicationExceptionsを取得しています。この記事(2014 年 9 月 16 日更新) では、次のことを推奨しています。
この例外は、メッセージング クライアントから Service Bus インフラストラクチャへの接続を正常に確立できない場合に発生する可能性がある通信エラーを通知します。ほとんどの場合、ネットワーク接続が存在していれば、このエラーは一時的なものとして扱うことができます。クライアントは、このタイプの例外の原因となった操作を再試行できます。このエラーは、ターゲット ホスト名を解決できないことを示している可能性があるため、ドメイン名解決サービス (DNS) が動作しているかどうかを確認することもお勧めします。
私の理解では、バージョン 2.1 (2013) 以降の Service Bus で一時的なエラーを処理するために記述する追加のコードはありません。私の前提が間違っていない限り、なぜトランジェントエラーが毎日発生するのですか? メッセージ ポンプを介して受信した例外を無視する必要がありますか? 無視された場合、予期しない例外も無視されると想定することしかできません..もちろん、それが発生することは望ましくありません。
Microsoft.ServiceBus のバージョンは 2.4.0.0 です
また、興味深い : Windows Azure サービス バスの 1.x から 2.0 へのアップグレード - 再試行ポリシー、 Windows Azure サービス バスのイベント駆動型メッセージ プログラミング モデルの紹介 、Azure SDK 2.0 リリース (2013 年 4 月)の新機能 、新機能Service Bus 2.1 リリース (2013 年 5 月)、一時的な障害処理。
android-volley - Volley ポリシー送信要求 2 回
ボレーライブラリを使用しています。ユーザーがタイムアウトしたときにリクエストを再試行したくありません。いくつかの答えが見つかりましたが、問題は解決しません。
元のライブラリ:
解決策 1: Default_MAX_RETRIES
0 に変更:
- これは HTTP には適していますが、HTTPS を修正するものではありません。HTTPS ドメインにしようとすると。2回やり直し。
解決策 2: オーバーライドRetryPolicy()
:
- 解決策 1 と同じ問題です。HTTPP は問題ありません。しかし、HTPPSは2回試行します
これは私にとって非常に重要であり、時間がありません。助けてください。
ありがとう。
azure - 2015 年の Azure Queue Storage の適切な呼び出しパターン?
パフォーマンスの高い方法で Azure Queue Storage に書き込むための適切な呼び出し/コード パターンは何ですか?
現在、擬似コードは
StorageCredentials および CloudStorage アカウント プロパティを使用して静的クラスを作成します。アプリケーションの起動時に、設定ファイルから値を {get;} のみのプロパティに読み込みます。
アプリケーション メッセージ タイプの入力パラメーターを使用して、非同期 Task メソッドでクラスを作成します。このメソッドは型をシリアル化し、新しい CloudQueueMessage、新しい CloudQueueClient、新しい CloudQueue 参照を作成します。構成情報が必要な場合は、静的クラスから読み取られます。私のコード:
コードに冗長性があるように見えますが、接続がキューにプールされるかどうか/どのようにプールされるか、データベース (SQL Server など) 接続の場合と同様に再試行ロジックが必要かどうかもわかりません。
どのキュー アクセス手順を何らかの方法で削減または最適化できるかを理解しようとしています。
すべてのアイデアに感謝します。
.NET 4.5.2、C# を使用。コードはクラウド サービス (ワーカー ロール) で実行されています。
ありがとう。
azure - 30 秒後の Azure スケジュール タスクのタイムアウト
これに対する答えが見つからなかったので、どんな助けも大歓迎です。Azure でスケジュールされたタスクの 1 つで大規模なレポートの作成が実行されますが、スケジューラが 30 秒後にタイムアウト エラーをスローし、さらに 5 回再試行するため、タイムアウトになります。データベースが非常に大きく、スクリプトが完了するまでに約 7 分かかります。ポータルを使用してタイムアウトを増やす方法や再試行をキャンセルする方法について何か提案はありますか?
アクションの再試行ポリシーに次を追加することを誰かが提案しましたが、十分な説明がありませんでした:
request - Spring Integration Retry Advice は、再試行中にメッセージに対して行われた変更をキャプチャしますか?
service-activator
入力として SI メッセージのリストを取得するメソッドを持つ Bean があります。
メソッドはリストを反復処理し、そこから各 SI メッセージを取得し、SI メッセージからペイロードを取得してから、ペイロードを MQ に送信します (MQ にメッセージを送信するためにアウトバウンドチャネルアダプターを使用していません。プレーンを使用しているだけです)バニラ JMS API)。
クラス as を使用し<request-handler-advice-chain>
てこのサービス アクティベーターに を設定し、ポリシー用に設定RequestHandlerRetryAdvice
された にマッピングしました。retryTemplate
SimpleRetry
このメソッドでは、ペイロードが MQ に正常に送信された場合に、各 SI メッセージに "SUCCESS" という値を持つservice-activator
ヘッダー (たとえば ) を追加するロジックを入れました。MESSAGE_SENT_STATUS
EDIT1 [[ これは私のロジックがどのように見えるかです:
]]
service-activator
例外が発生してメソッドが再試行された場合に備えて、このヘッダーがメッセージに保持されるかどうかを知りたいですか?
例として、リストに 3 つの SI メッセージが含まれているとします。
1 番目と 2 番目の SI メッセージは MQ に正常にデポジットされました (これは、これらのメッセージがMESSAGE_SENT_STATUS
"SUCCESS" という値を持つヘッダーで強化されたことを意味します) が、3 番目の SI メッセージをデポジットしようとしたときに例外が発生しました。
List の繰り返しにコードを追加してヘッダーをチェックし、MESSAGE_SENT_STATUS
その値が「SUCCESS」の場合は、その繰り返しをスキップします (基本的には を配置しますcontinue
) 。MQで 3 番目のメッセージのみが破棄されるようにしますか?
または、これはステートレスな再試行のケースであり、すべてのメッセージが MQ にプッシュされます (MESSAGE_SENT_STATUS
存在しないため) ?
上記のユースケースに活用できるかどうかを確認するためにマニュアルも参照していましExpressionEvaluatingRequestHandlerAdvice
たが、それを手に入れることができませんでした。私のユースケースでこのアドバイスを活用することは可能ですか? はいの場合、どのように提案できますか?
返信ありがとうございます!
これからもよろしくお願いします
python - Pythonでフックを使用して再試行するには?
次のようなことが起こった場合、メソッドを再試行したいのですException
が、デコレータでこれを行う方が良いでしょうか?