我像这样创建我的firebase连接:
cred = credentials.Certificate('firebase_admin.json')
default_app = firebase_admin.initialize_app(cred, {
'databaseURL': 'https://xxx.firebaseio.com'
})
现在,这样的事情很有效:
ref = db.reference('foo')
ref.set('bar')
但问题是当我的脚本在那里运行时,有时没有互联网连接。它只使用firebase来编写,它不会读取任何内容。当它发生时脚本挂起并崩溃,但例外:
File "/usr/local/lib/python2.7/site-packages/firebase_admin-2.1.1-py2.7.egg/firebase_admin/db.py", line 174, in push
File "/usr/local/lib/python2.7/site-packages/firebase_admin-2.1.1-py2.7.egg/firebase_admin/db.py", line 600, in request
File "/usr/local/lib/python2.7/site-packages/firebase_admin-2.1.1-py2.7.egg/firebase_admin/db.py", line 635, in _do_request
firebase_admin.db.ApiCallError: HTTPSConnectionPool(host='autogleam-3c89b.firebaseio.com', port=443): Max retries exceeded with url: /logs/123456789.json (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x103a69e90>: Failed to establish a new connection: [Errno 51] Network is unreachable',))
它不起作用,因为每个写命令同步工作。我想要离线模式和异步数据写入。因此,当没有互联网连接时,只要它可用并且脚本继续工作,它就会立即发送。这可以使用firebase_admin吗?