python-firebase在添加时获取项目

时间:2016-04-11 07:41:10

标签: python firebase firebase-realtime-database

所以我目前正与python-firebase合作,之前我一直在使用JavaScript和Firebase。在JS中有ref.on('child_added'),但我希望对python-firebase做同样的事情(每次添加节点时我都要检查firebase,所以我假设我需要这样的东西)。< / p>

那我该怎么做呢?

1 个答案:

答案 0 :(得分:1)

@ hd1&#39的答案有效,并使用您已经使用过的python-firebase库。但正如你所说,它确实需要轮询更新。

另一种方法是倾听Firebase's REST streaming API。有一个Python example of how to consume the REST events(使用Python请求和sseclient库)。读取循环为here

        self.sse = ClosableSSEClient(URL)
        for msg in self.sse:
            msg_data = json.loads(msg.data)
            if msg_data is None:    # keep-alives
                continue
            path = msg_data['path']
            data = msg_data['data']
            if path == '/':
                # initial update
                if data:
                    keys = data.keys()
                    keys.sort()
                    for k in keys:
                        self.message_queue.put(data[k])
            else:
                # must be a push ID
                self.message_queue.put(data)

虽然它不像您之前使用过的本机JavaScript客户端那么简单,但它与您在Python中获得该功能的距离非常接近。