You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中停止Firebase Database的listen()方法

Python中停止数据库listen()监听的正确方法

错误原因

你当前操作无效的核心问题是:每次调用db.reference('Users/Requests/user1').listen(listener)都会生成独立的新监听器实例:

  • 第一次调用listen生成的运行中监听器没有被保存引用,后续无法对其进行操作
  • 第二次调用listen是生成了第二个全新的监听器,此时调用close()也只是关闭了这个未实际投入运行的新实例,对已经在工作的第一个监听器完全没有影响

正确操作步骤

  • 调用listen方法时,将返回的监听器实例保存到变量中
# 存储监听器实例
listener_reg = db.reference('Users/Requests/user1').listen(listener)
  • 需要停止监听时,直接调用该保存实例的close()方法即可
# 停止正在运行的监听
listener_reg.close()

提示:如果你使用的是较早版本的firebase-admin库,调用close()未生效时,可以额外调用listener_reg.unsubscribe()再执行关闭逻辑。

内容的提问来源于stack exchange,提问作者Lakshmi Vallabh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 17:48:02