-
Notifications
You must be signed in to change notification settings - Fork 88
Ограничение использования AsyncRetryingClient #176
Comments
Я имею ввиду что-то такое в tinkoff/invest/retrying/aio/retry_manager.py: |
Постараемся реализовать само восстановления после падения #177 |
К сожалению, RetryingClient был предназначен для повторов запросов, которые сервер отбил и просит подождать. |
Да, я понял для чего задуман Retrying клиент, когда уже написал этот issue. Если возможно дополнить пример /examples/async_stream_client.py конструкцией try-except для обрывов соединения это было бы очень полезно, я не уверен где это писать, когда используется итератор. Заранее спасибо. |
Привет) Удалось сделать такую обработку? конструкцией try-except для обрывов соединения |
Лично для себя я решил следующим образом, извиняюсь за избыточность кода, привожу пример моей функции сборщика свечек на текущий момент для торгового робота. После запуска робота, сборщик собирает минутные свечки за день, чтобы робот каждую минуту рассчитывал стратегию на шаг. Так у меня вылетов робота стало радикально меньше. Можно проматывать до инструкции try: candles harvester
|
Что случилось?
Обрадовался, найдя Retrying, переделал код на него, но оказалось что работает не всегда, получил ошибку "AttributeError: 'NoneType' object has no attribute 'ratelimit_reset'". Как я понял, для моего случая исключения get_metadata_from_aio_error(exception) возвращает None. Но в таком случае смысл Retrying`а ломается, все равно приходится обрабатывать повторные попытки соединения снаружи, а такая ошибка за сегодня уже вылетала несколько раз.
Дополнительно: не только мне одному было бы интересно увидеть в examples пример рекомендуемой реализации реконнекта по исключениям соединения, желательно с использованием market_data_stream.
Воспроизведение
Tinkoff Invest Version
0.2.0-beta45
Python Version
3.10
OS
Windows
Логи
The text was updated successfully, but these errors were encountered: