Сегодня я столкнулся с проблемой, когда монтирование устарело, и это привело к тому, что все мое приложение Python зависло на неопределенный срок.
Случилось так, что монтирование устарело, а затем я позвонил os.path.exists(path)
по этому пути. Звонок зависает на неопределенное время.
Мне действительно нужно предотвратить это. Моя единственная идея состоит в том, чтобы поместить вызов os.path.exists
в фоновый поток и резко убить поток (очевидно, что это не предпочтительно), если он все еще жив после тайм-аута в несколько секунд. В идеале я бы избежал этого, сделав вызов, чтобы сначала проверить, не устарело ли монтирование.
Любые идеи? К вашему сведению, все вызовы, пытающиеся получить доступ к этому пути, зависают, включая os.path.ismount(path)
. Хотя это редкое событие, я не могу допустить, чтобы вся моя система зависала на пользователях :/.