問題タブ [python-tenacity]
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.
python - 再試行時の Python Tenacity ログ例外
tenacity
パッケージを使用して関数を再試行しています。私の再試行デコレータは次のようになります。
例外として、次のようなログ メッセージが表示されます。
すでにログに記録されているものに加えて、実際の例外 (スタック トレースではなく、1 行形式) をログに記録したいと考えています。これは粘り強さで行うことができますか?それとも、例外をキャッチし、印刷して、再発生させる必要がありますか?
python - Python でテナシティを使用して try-except sentenec を使用すると、期待どおりに再試行されない
こんにちは、メールの送信に粘り強さを使用しようとしています。スクリプトは次のとおりです。
email_tables(vars)
問題は、出力を実行すると、メソッドが 1 回だけ実行されてからスクリプトが終了することです。
try-except 文を削除して例外を出力しないと、スクリプトは期待どおりに 7 回実行され、エラーが発生します。
再試行が機能するために、ここで何が間違っているのかわかりません。後で、例外が発生したときに、理想的には失敗した回数とともにログをファイルに保存したいと思います。
前もって感謝します
python - Python の粘り強さ: すべての再試行が失敗した場合、例外を発生させずに関数を再試行するにはどうすればよいですか?
私は次の機能を持っているとしましょう:
この関数は 3 回再試行します。3 回の再試行がすべて失敗すると、例外が発生します。
粘り強さを使用して、例外を発生させずに 3 回再試行するにはどうすればよいですか? 何かのようなもの:
python-requests - httpx 非同期クライアントと粘り強さを使用する最良の方法は?
2 つの異なる実装でかなり異なる結果が得られます。
これが実装1です
そして、ここに実装 2 があります。
安定した REST API に対してテストしています。ベンチマークは次のとおりです。
- 100 件の成功した POST リクエスト:
- 実装 1: 0:59 分
- 実装 2: 0:57 分
- 100 件の失敗した POST 要求:
- 実装 1: 3:26 分
- 実装 2: 2:09 分
これらの結果は一貫しています。最初の実装が 2 番目の実装よりも遅い理由を理解できる人はいますか?
編集:参考までに、上記の関数を呼び出す方法は次のとおりです(上記の関数は実際にURLと本文を含むリクエストタプルを受け取り、明確にするために編集しました)