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(无,getIsUser,uid)
关于python - aiohttp 和 firebase 以及 firebase-admin - 它是非阻塞的吗? python 3.6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46378139/