是否需要添加async
# 性能最低的写法,在async函数中调用同步方法,会被阻塞,导致其他函数无法运行
async def xxx():
time.sleep(1)
return {xxx}
# 将同步函数放到线程池中去运行,避免出现阻塞
async def xxx():
loop = asyncio.get_event_loop()
await loop.run_in_executor(None, time.sleep(1))
return {xxx}
# 使用了异步方法,避免了阻塞 性能佳
async def xxx():
await asyncio.sleep(1)
return {xxx}
# 普通函数 fastapi会将其放入线程池中运行,线程池默认配置是核心数*5,线程池用完了则等待
def xxx():
time.sleep(1)
return {xxx}
如果不清楚函数里的调用是否是异步的,那就定义为普通函数
时间戳
import time
# 获取时间戳
time_now = int(time.time())
time_now = time.mktime(dt)
# 转换程localtime
local_time = time.localtime(time_now)
# 格式化(2020-12-08 15:31:00)
dt = time.strftime("%Y-%m-%d %H:%M:%S", local_time)