Форум сайта python.su
Здравствуйте!
В скрипте происходит чтение параметров датчика:
data = read_word(BMP280) # это из библиотеки smbus
Если датчик через какое-то время не отвечает (отвалился), тут все виснет.
Сейчас решаю это так: параллельно запускается еще один скрипт - watchdog, который контролирует завершение первого скрипта, и если он не завершился через какое-то время, просто “убивает” его.
На мой взгляд это очень коряво. Тем более датчиков очень много и придется “сторожить” каждого.
В поисковиках нашел предложение использовать subprocess с параметром timeout. Но не понял, как это будет выглядеть в моем случае. Прошу пример кода.
Спасибо.
Офлайн
Popen.wait() ?
https://pythonworld.ru/moduli/modul-subprocess.html
лучше asyncio, gevent если много процесcов
https://tproger.ru/translations/asynchronous-programming-in-python/
Отредактировано vic57 (Сен. 1, 2017 12:58:31)
Офлайн
Так как на каждый датчик или группу выполняется один скрипт, попробую через subprocess.
Буду разбираться.
Спасибо.
Офлайн