我有一个问题,部分与firebase有关。我目前使用的是支持流的混合python firebase库。
我目前在/unread_messages/
上有一个流,所以每次在firebase中放置一条未读消息,unread_message_handler()
都会做一些事情。在
stream = FIREBASE.child('/unread_messages/').stream(unread_message_handler)
以及处理者
^{pr2}$问题是:我不想在放置未读邮件时直接发送通知。我想等10秒,看看那个特定的消息是否还在/unread_messages/
中,如果是,发送一个通知。在
直接发送它很简单,它已经在做了,但是我不确定如何等待10秒,因为流只在新操作上调用处理程序,而我一直想检查时间戳
编辑 我正在使用this库进行流式处理
当您调用
stream()
时,您使用的库生成一个Python线程,这里:https://github.com/thisbejim/Pyrebase/blob/master/pyrebase/pyrebase.py#L288然后该线程调用回调。从您的问题中不清楚您的主线程在调用
stream()
之后会做什么,但基本上您可以做的是设置一个计时器,在流线程中收到每条消息后10秒唤醒您的主线程,或者每隔10秒在主线程中轮询一次。在将
timestamp
值放入消息数据怎么样。然后,当添加消息时,您可以使用它的timestamp
来读取它,并使用timestamp
将10 seconds delayed call
设置为另一个函数,如果消息仍然未读,该函数将检入Firebase数据库。在相关问题 更多 >
编程相关推荐