Skip to content

feat: リクエストタイムアウトの追加(応答がない場合の無期限ブロックを防止)#24

Open
aobathree wants to merge 1 commit into
bitbankinc:masterfrom
aobathree:feat/request-timeout
Open

feat: リクエストタイムアウトの追加(応答がない場合の無期限ブロックを防止)#24
aobathree wants to merge 1 commit into
bitbankinc:masterfrom
aobathree:feat/request-timeout

Conversation

@aobathree

Copy link
Copy Markdown

概要

requests.get / requests.posttimeout が指定されていないため、サーバーが応答しない場合にリクエストが無期限にブロックします。自動売買プログラム等に組み込んだ際、注文状態が不明のまま処理が停止するリスクがあるため、タイムアウトを追加しました。

変更内容

  • private API: configtimeout キーで指定可能(省略時 30 秒)
  • public API: コンストラクタの timeout 引数で指定可能(省略時 30 秒)
  • いずれも None を指定すると従来どおりタイムアウトなし
  • README の config 例に timeout の説明を追記

互換性への影響

タイムアウト時は requests.exceptions.Timeout が送出されます。従来は無限に待機していた場面で新たに例外が発生し得るため、完全な従来挙動が必要な場合は timeout: None を指定してください。デフォルト値(30 秒)は、正常なレスポンスには十分長く、ハングを検知するには十分短い値として選定しています。

🤖 Generated with Claude Code

従来は requests.get / requests.post に timeout が指定されておらず、
サーバーが応答しない場合にリクエストが無期限にブロックしていました。

- private API: config の 'timeout' キーで指定可能(省略時 30 秒)
- public API: コンストラクタの timeout 引数で指定可能(省略時 30 秒)
- いずれも None を指定すると従来どおりタイムアウトなし

タイムアウト時は requests.exceptions.Timeout が送出されます。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@soichirokodama

Copy link
Copy Markdown
Collaborator

プルリクエストの作成ありがとうございます。
内容について社内で確認させていただきます。
よろしくお願いします。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants