Как использовать поток базы данных Firebase Realtime, используя Pyrebase? - PullRequest
0 голосов
/ 14 марта 2020

Я установил pyrebase на онлайн-сервере python, который находится на pythonanywhere, и я пытаюсь использовать поток для проверки измененных значений на дочернем узле, когда я получаю запрос от HTTP-клиента. Вот код:

from flask import Flask
from flask import request
import requests
import pyrebase

firebase = pyrebase.initialize_app(config)

app = Flask(__name__)


@app.route("/IOTSENSE/PINS", methods=["POST","GET"])
def handler():
    username = request.get_data()
    print(username.decode("utf-8"))
    username = username.decode("utf-8")
    result = [x.strip() for x in username.split(',')]
    print(result)

    db = firebase.database()
    users = db.child(device).child(child).get()
    print(users.val())

    def requestHandler(message):
        print(message["event"]) # put
        print(message["path"]) # /-K7yGTTEp7O549EzTYtI
        print(message["data"]) # {'title': 'Pyrebase', "body": "etc..."}

    my_stream = db.child("Data").stream(requestHandler)


    if r.status_code != 200:
     print( "Error:", r.status_code)
    return ""

Функции get, post и patch из pyrebase работают совершенно нормально. Любая идея, почему поток не работает?

...