操作
バグ #622
完了ネットワーク接続が切断された際にCPU使用率が100%になる
プラグイン名:
ブランチ:
クラッシュする:
説明
ストリームが切断された場合, core/lib/mikutwitter/streaming_failed_actions.rb でエラーを確認し,再接続を試みるが,
ネットワークが切断された際はエラー内容(変数)が Exception ではなく Thread(dead) であるため,
待ち時間なしに再接続を繰り返し,CPU使用率が100%になる.
以下の変更を加えたところ,症状は再現しなくなった.
0.2.2.1373で確認したが,以前のバージョンでも同様の症状が見られる.
diff --git a/core/lib/mikutwitter/streaming_failed_actions.rb b/core/lib/mikutwitter/streaming_failed_actions.rb index 23cbadd..c521b35 100644 --- a/core/lib/mikutwitter/streaming_failed_actions.rb +++ b/core/lib/mikutwitter/streaming_failed_actions.rb @@ -42,6 +42,8 @@ class MikuTwitter::StreamingFailedActions @last_code = e.code elsif e.is_a? Exception tcperror + elsif e.is_a? Thread + networkerror unless e.alive? end end @@ -105,6 +107,7 @@ class MikuTwitter::StreamingFailedActions @wait_time += 0.25 if @wait_time > 16 @wait_time = 16 end end end + alias networkerror tcperror def httperror @fail_count += 1
操作