Skip to main content
 首页 » 编程设计

python之aiohttp 和 firebase 以及 firebase-admin之它是非阻塞的吗 python 3.6

2025年05月04日22xing901022

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)