![](/img/trans.png)
[英]Get subcollection of a non existent document using python firebase-admin
[英]aiohttp and firebase and firebase-admin - is it non blocking? python 3.6
python 3.6
這是我的Firebase代碼,它將檢查用戶是否存在於Firebase上:
import firebase_admin
from firebase_admin import credentials
from firebase_admin import auth
cred = credentials.Certificate('wow.json')
default_app = firebase_admin.initialize_app(cred)
def getIsUser(email=None,uid=None):
try:
user = auth.get_user(uid)
is_user = True
except:
is_user = False
return is_user
這是我的aiohttp調用的函數:
async def jwt_route(request):
data = await request.json()
uid = data['uid']
is_user = getIsUser(uid=uid)
app.router.add_post('/jwt', jwt_route)
我的問題是getIsUser(uid = uid)是阻止還是不阻止。 如果阻塞,那么我如何使其不阻塞?
是的, getIsUser
是一個阻止調用。
在線程池中運行它: loop = asyncio.get_event_loop() is_user = loop.run_in_executor(None, getIsUser, uid)
我建議使用與安德魯答案不同的方法。 我認為-打開線程會使應用程序代碼復雜化並跟蹤錯誤。
在沒有支持asyncio
的庫asyncio
,您應該使用REST API,與aiohttp
異步調用它。
對於auth
我正在使用已棄用的數據庫密碼,因此它並不理想,但目前可以使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.