Поток, который у меня есть из библиотеки Pyrebase, кажется, имеет проблему для меня. У узла, на котором он находится, есть несколько тысяч узлов под ним, и кажется, что я не могу справиться с этим?Поток пожарной базы застревает [pyrebase]
Сначала я думал, что потоковая передача не работает, но для другого узла. Это как называется поток (открыть и закрыть его через каждые 45 минут, чтобы избежать несвежий маркер аутентификации)
def main():
....
FIREBASE = pyrebase.initialize_app(PYREBASE_CONFIG)
database = FIREBASE.database()
return database.child('/messages/').stream(messages_handler)
if __name__ == '__main__':
while True:
stream = main()
time.sleep(60 * 45)
stream.close()
Но это, кажется, застревают на этом:
2016-10-30 12:26:23,019 [INFO]: Refreshing access_token
2016-10-30 12:26:23,800 [INFO]: Starting new HTTPS connection (1): some-database.firebaseio.com
2016-10-30 12:26:24,311 [INFO]: Starting new HTTPS connection (1): same-database.firebaseio.com
Это странно, поскольку он работает для другого узла, чем /messages/
, и database.child('/messages/').get().val()
получает его очень быстро.
Почему поток застрял на этом? Вся помощь приветствуется!
РЕДАКТИРОВАТЬ. Чтобы быть ясным, это не проблема аутентификации, поток не может обрабатывать данные из узла A (/ messages /), но он работает для узла B (/ other_node /).
Хотя это правда, имеющие косую черту там уже работает. Похоже, в этой строке идет медленная работа: https://github.com/thisbejim/Pyrebase/blob/master/pyrebase/pyrebase.py#L547 – dnsko