botoが提供するdomain.select()メソッドを使用して、SimpleDBを照会しています。小さなクエリ(数時間のデータを含むクエリ)では、このメソッドはうまく動作します。私は 複数のスレッドと長いクエリ(データの24時間)を使用して起動したときしかし、それは標準出力に次のエラーを与え、タイムアウトを開始:botoのリクエストタイムアウト(408)エラーを処理する方法は?
-------------------------
4 0 8
...
<?xml version="1.0"?>
<Response><Errors><Error><Code>QueryTimeout</Code><Message>A timeout occurred when attempting to query domain 'd110824' with query expression 'select * from `d110824` where `timestamp` >= '2011-08-24T10:45:56' and `timestamp` < '2011-08-25T10:45:56' and `identifier` = '00063F052C49' order by `timestamp` asc </Message><BoxUsage>0.0055590278</BoxUsage></Error></Errors><RequestID>....</RequestID></Response>
ときに、この私が、再試行メカニズム(指数バックオフ)を実装したいですエラーが発生しました。 Botoはこのエラーの例外をスローせず、単純に出力します。再試行のメカニズムを実装するには、エラーが発生したことを知るために、何らかの種類のエラーコードまたは例外が必要です。
botoでこれを達成する方法についてのご意見はありますか?
ご返信ありがとうございます。うん、それは503で再試行しますが、見つけ出す方法がありません.408で何をしたら、例外もスローされません... boto documentation sucks man。 – Sujit
数年前にAWSに依頼するのではなく、リクエストされたため、Botoは408の応答で再試行しません。 AWSドキュメントで再試行する必要があると表示された場合は、botoを変更して再試行する必要があります。私はgithubのチケットを提出することをお勧めし、私は個人的に世話をします。 – garnaat
BTW、Sujit、boto docsの問題についてより具体的になる可能性がありますか?私はいつもコミュニティからの改善の提案を得ることができて嬉しいです。ありがとう! – garnaat