Python firebase-admin sdk потоковый зависает при отключении - PullRequest
0 голосов
/ 10 мая 2019

Я получаю обновления от потоковой базы, все прекрасно работает, пока я не отключил интернет.Когда Интернет отключен и все еще отключен более чем на 2–3 минуты при соединении с потоковой передачей, потоковая передача не получает обновлений, для этой проблемы я создал сценарий для обработки со временем отключения.Если я отключен более чем на 100 секунд, я просто убью потоковые потоки и подключу новый поток, но когда интернет отключится, когда я открываю новое соединение, он навсегда зависает при открытии потокового кода и не возвращается, чтобы выполнить остальную часть кода.как я могу избежать этой проблемы с зависаниями?

try:
    streaming = db.reference('path').listen(callback)
except ApiCallError:
    raise ConnectionError

timer = 100

while True:
    if internet_on():
        if timer == 0:
            streaming.close()
            try:
                streaming = db.reference('path').listen(callback)
                timer = 100
            except ConnectionError:
                timer = 0
    else:
        time.sleep(1)
        timer -= 1 if timer > 0 else 0
...