操作
バグ #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
操作