Найти - Пользователи
Полная версия: проверка подключения к SQL базе
Начало » Python для новичков » проверка подключения к SQL базе
1 2
Sova
Добрый день, есть mySQL база, которая расположена на другом ПК. К ней нужно обращаться с этого ПК, но если сеть лягла или комп с базой выключен Pyton просто прекращяет работу программы, выдавая сообщение об ошибке. А этого делать нельзя!! Нужно просто продолжить работу программы, ну и выдать сообщение в какую то переменную о том что база то недоступна. Помогите с этой задачкой?
FishHook
перехватывайте ошибку операции с БД с помощью try…except
Sova
FishHook
перехватывайте ошибку операции с БД с помощью try…except
как именно? можете дать код?
FishHook
Sova
как именно? можете дать код?
Код чего?
Вы знаете о такой языковой конструкции try…except?
Если знаете - применяйте по месту, вы же знаете где у вас программа падает, трейсбек об этом недвузначно сообщает.
Если не знаете - идите читать документацию.
Sova
FishHook
Спасибо, Все получилось. Осталось только както выделить именно эту ошибку , чтоб потом выставить флаг того, что не было коннекта с базой. Подскажите куда смотреть?
ZerG
В try : except - error types => google
Уже не говоря о том что можно в самом начале обьявить переменную и потому если ок - присваивать ей 1 а если сработало исключение 0
Sova
ZerG
В try : except - error types => googleУже не говоря о том что можно в самом начале обьявить переменную и потому если ок - присваивать ей 1 а если сработало исключение 0
Спасибо, получилось - работает!!!
Но терзают меня смутные сомнения что если коннекта нет то прога не сможет адекватно работать т.к. она подвисает на 21 сек прежде чем выдать что есть мол ошибка коннекта!!! а ежели есть коннект то 0,1 сек и готово.. Это катастрофа моя прога должна крутится в цикле и пишет в базу данные попутно выполняя свои действия 10 раз на секунду…
Есть ли способ проверить коннект более быстрым способом? или пробовать пинговать и прочее?
ZerG
Способов море! Гуглите.
Пробуйте сделать сами.
PooH
ZerG
Способов море! Гуглите.
Море? Я только один знаю, уменьшить connect_timeout. Если знаете еще, расскажите.
doza_and
PooH
Я только один знаю
Ну для такой задачи основной способ разнести цикл обработки и работу по общению с базой по разным потокам/ использовать асинхронный ввод вывод.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB