python - Python Firebase Admin 监听器每小时自动触发一次
问题描述
我注意到我的 Firebase 管理事件侦听器每小时都会触发一次,即使我的数据库没有更改。我整理了一个小型测试程序进行验证,发现这些更新每小时自动发生,大约在设置初始侦听器后 60 分钟。
这是故意的吗?如果是这样,我该如何禁用此行为?
这是测试程序(我删除了一些*敏感值*):
# Firebase modules
import os
import datetime
import firebase_admin
from firebase_admin import db
from firebase_admin import credentials
# Init Firebase.
dir_path = os.path.dirname(os.path.realpath(__file__))
cred = credentials.Certificate(dir_path + '/serviceAccountKey.json')
firebase_admin.initialize_app(cred, {
'databaseURL': *DB_URL*
})
def db(event):
print('Firebase event detected: ')
print('Path: ' + event.path)
print('Data: ' + event.data)
print('Event type: ' + event.event_type)
now = datetime.datetime.now()
human_timestamp = '{y}-{mon}-{d} {h}:{min}:{s}'.format(
y=now.year,
mon=now.month,
d=now.day,
h=now.hour,
min=now.minute,
s=now.second
)
print(human_timestamp)
if __name__ == "__main__":
loc_path = *LOC_PATH*
listener = firebase_admin.db.reference(loc_path).listen(db)
try:
while True:
pass
except KeyboardInterrupt:
listener.close()
我运行了一个小时,看到了以下输出:
Firebase event detected:
Path: /
Data: test
Type: put
2019-2-3 9:11:58
Firebase event detected:
Path: /
Data: test
Type: put
2019-2-3 10:12:4
解决方案
推荐阅读
- c - 改变 fgets() 函数位置的不同输出
- python - 卡在欧拉 18 上。我的 for 循环没有上升
- javascript - 从主窗口滚动子项(AG-Grids)
- gnuplot - 如何在颜色循环的 gnuplot 脚本中设置虚线或虚线
- c++ - 具有独特类型的变体
- java - while循环条件,不等于和大于之间的差异
- algorithm - 时间复杂度(毕达哥拉斯三元组)
- amazon-web-services - AWS - 应用程序负载均衡器 - 502 Badgateway - 节点 JS 应用程序
- r - 在数据帧的不同列上运行组合函数,一次一行
- routes - 将 mDNS 查询从 WSL 子网重新路由到 Windows 主机子网