Мы используем метод domain.select (), предоставляемый boto, для запроса SimpleDB. Для небольших запросов (запросов, включающих пару часов данных) этот метод работает нормально. Но когда я начинаю использовать
несколько потоков и более длинные запросы (данные за 24 часа), он начинает время ожидания, выдавая следующую ошибку на стандартный вывод:
-------------------------
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 не выдает никаких исключений для этой ошибки и просто печатает ее. Чтобы реализовать механизм повторных попыток, мне нужен какой-нибудь код ошибки или исключение, чтобы знать, что произошла ошибка.
Есть мысли о том, как этого добиться в бото?