問題タブ [retry-logic]
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.
java - コード セグメントを異なる間隔で複数回再試行する
異なる時間間隔で条件を満たさない場合、特定のコードセグメントを何度も実行する Android アプリコードの一部のアルゴリズムが必要です。簡単に言えば、異なる時間間隔でコードを複数回再試行します。
たとえば、文字列データをアップロードしていて、インターネット接続がある場合はネットワーク接続チェックを行い、インターネットがない場合は、1 分後に自動的に再度チェックする必要があります。正の場合はデータがアップロードされ、そうでない場合は次の 3 分後に再試行し、3 回目も正の場合はデータがアップロードされ、そうでない場合は次の 5 分後に最終チェックを行い、取得できない場合はネットワークの場合、トーストなしのネットワークが表示されるはずです。
単純なアルゴリズムでそれを行う方法は?
ここでのネットワーク接続シナリオは一例です。そこで説明したように、「再試行」のアルゴリズムが必要です。
前もって感謝します。
kotlin - Reactor でのカスタム再試行
Reactor の追加パッケージの機能に基づいて、Kotlin と Reactor に再試行ロジックを実装しようとしていました。私がやろうとしているのは、期間のリストを渡すことであり、それぞれにリストcontext.iteration
の (反復-1) 番目の要素を取得しています。それは部分的に機能します。リストのサイズである再試行の最大数を指定しましたが、常にIndexOutOfBoundsException
最後の反復で取得しています。これは、私が望んでいた以上のものです。ただし、再試行は実行されていますが、指定された期間と「正しい」回数で(おそらくIndexOutOfBoundsException
それ以上を防ぐため)、この例外(および根本的な原因)だけが気になります。
これは私のカスタム BackOff インターフェイスです。
そして、私のKotlin拡張機能は次のとおりです。
ここで何が欠けていますか?